mikrocontroller.net

Forum: PC-Programmierung http request aus Windows Shell


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
Autor: Sergej P. (benito_juarez)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht 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...

Autor: Cyblord -. (Gast)
Datum:

Bewertung
2 lesenswert
nicht lesenswert
curl

Autor: Sergej P. (benito_juarez)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Sergej P. (benito_juarez)
Datum:

Bewertung
0 lesenswert
nicht 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">

Autor: Cyblord -. (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: DPA (Gast)
Datum:

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

Autor: Jim M. (turboj)
Datum:

Bewertung
1 lesenswert
nicht lesenswert
Scheint 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.

Autor: Sergej P. (benito_juarez)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Der kein Bock mehr A. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert

Autor: Εrnst B. (ernst)
Datum:
Angehängte Dateien:

Bewertung
1 lesenswert
nicht 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.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.