Forum: PC-Programmierung http request aus Windows Shell


von Benito P. (benito_juarez)


Angehängte Dateien:

Lesenswert?

Hallo, wir haben hier ein Board, welches auch eine Weboberfläche hat.
Diesem ist es möglich CSV-Files zukommen zu lassen mit einem Satz an 
Daten.
Diesen "händischen Prozess" Adresse im Browser aufrufen, file laden und 
auf "Upload" klicken, würde ich gerne automatisieren, z.b. mit einer 
shell oder batch datei (windows rechner), am liebsten würde ich diesen 
sogar als Scilab Skript verwenden.
Wie gehe ich hier am besten vor...
ich habe mal das html-File diesbezüglich geladen (mehr geht leider nicht 
öffentlich), und ich will die einstellungen im Reiter "Waveform" 
manipulieren...

von Cyblord -. (Gast)


Lesenswert?

curl

von Benito P. (benito_juarez)


Lesenswert?

Abradolf L. schrieb:
> curl

Danke Abradolf, aber cUrl ist Neuland für mich...

Ich würde es so probieren:
curl -X Post -d @600dpi.csv http://172.24.20.39/waveform

a) Wie wähle ich aber die Option 300dpi/600dpi?
antwort von curl ist
curl: (52) Empty reply from server

von Benito P. (benito_juarez)


Lesenswert?

der entsprechende html-abschnitt ist hier:


Waveform</div><div class="panel-body"><form 
enctype="multipart/form-data" action="http://172.24.20.39/waveform"; 
method="POST">
Datei für Waveform upload:<br><input class="btn btn-default" 
name="uploadedfile" type="file"><select name="dest"><option value="300">
300 dpi</option><option value="600">600 dpi</option></select><input 
class="btn btn-default" type="submit" value="Upload 
File"></form></div></div><div class="panel panel-default"><div 
class="panel-heading">

von Cyblord -. (Gast)


Lesenswert?

Dazu solltest du die Doku von curl konsultieren wie du für deinen 
Anwendungsfall Daten und Header im Allgemeinen zusammensetzt. 
(Insbesondere wenn du Dateien schicken willst)
Im Speziellen musst du auch nachprüfen was für einen Request dein Server 
konkret erwartet damit er ihn entgegen nimmt.
Mit Browserentwicklungstools kannst du auch in der Netzwerkanalyse 
auslesen wie der Request aussieht der an den Server geschickt wird und 
kannst ihn da in curl 1:1 nachbauen. Ist halt bissl Fitzelarbeit.

von DPA (Gast)


Lesenswert?

Nach der Anleitung hier: https://davidwalsh.name/curl-post-file
Würde ich das so versuchen:
1
curl -X POST -F 'dest=600' -F 'uploadedfile=@600dpi.csv' http://172.24.20.39/waveform

von Jim M. (turboj)


Lesenswert?

Scheint nicht so furchtbar kompliziert zu sein:
1
curl -v -F dest=300 -F uploadedfile=@DateiName.Endung http://172.24.20.39/waveform

Quellen:
https://stackoverflow.com/questions/19116016/what-is-the-right-way-to-post-multipart-form-data-using-curl

https://ec.haxx.se/http-multipart.html

Ob da allerdings noch z.B. eine Nutzeranmeldung nötig ist, kann man von 
unserer Seite aus natürlich nicht sehen.

von Benito P. (benito_juarez)


Lesenswert?

Jim M. schrieb:
> cheint nicht so furchtbar kompliziert zu sein:
> curl -v -F dest=300 -F uploadedfile=@DateiName.Endung
> http://172.24.20.39/waveform
>
> Quellen:
> 
https://stackoverflow.com/questions/19116016/what-is-the-right-way-to-post-multipart-form-data-using-curl
>
> https://ec.haxx.se/http-multipart.html
>
> Ob da allerdings noch z.B. eine Nutzeranmeldung nötig ist, kann man von
> unserer Seite aus natürlich nicht sehen.

genau dieser teil funktioniert, danke für die unterstüttzung

von Der kein Bock mehr A. (Gast)


Lesenswert?


von Εrnst B. (ernst)


Angehängte Dateien:

Lesenswert?

Sergej P. schrieb:
> Danke Abradolf, aber cUrl ist Neuland für mich...

Tipp:

Mit Chrome auf die Seite gehen, "Entwicklertools" öffnen, gewünschte 
Aktion ausführen.

In den Entwicklertools unter "Netzwerk" den passenden Request finden 
(Filter auf "Doc" statt "All" hilft meistens), dort Rechtsklick, "copy 
as", "curl"

in Texteditor einfügen, ggfs. ausmisten (Die Curl-Anweisung versucht den 
Request 1:1 nachzubauen, mit allen Headern, user-agent, cookies usw. Ist 
meist nicht nötig.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.