2016-11-19 9 views
4

Ich bin ein bisschen verwirrt über curls "--upload-file" -Argument. Die man-Seite gibt nur an, dass sie "die angegebene lokale Datei an die entfernte URL überträgt".Ist curls --upload-file eine Postanfrage?

Ist dies eine Postanforderung? Wenn nein, was ist es dann und wie würde das in einer tatsächlichen HTML5-Client-App aussehen?

Antwort

5

Es ist eine PUT-Anfrage.

Vom manual (-T ist einfach gestrichelte für --upload-Datei):

HTTP Laden Sie alle Daten über stdin an eine bestimmte HTTP-Site:

curl -T - http://www.upload.com/myfile 

Beachten Sie, dass Der HTTP-Server muss so konfiguriert sein, dass er PUT akzeptiert, bevor dies erfolgreich durchgeführt werden kann. Weitere Möglichkeiten zum Hochladen von HTTP-Daten finden Sie im folgenden POST-Abschnitt.

Weitere Informationen curl Documentation:

4,4 Datei-Upload-POST

Zurück Ende 1995 definiert sie eine zusätzliche Möglichkeit, Daten über HTTP zu senden. Es ist in der RFC 1867 dokumentiert, warum diese Methode manchmal als RFC1867-Posting bezeichnet wird.

Diese Methode wurde hauptsächlich entwickelt, um Datei-Uploads besser zu unterstützen. Ein Formular , die einen Benutzer ermöglicht, eine Datei hochzuladen könnte in HTML wie folgt geschrieben werden:

<form method="POST" enctype='multipart/form-data' action="upload.cgi"> 

<input type=file name=upload> 
<input type=submit name=press value="OK"> 
</form> 

Dies zeigt deutlich, dass das Content-Type über gesendet multipart/form-data werden soll.

in eine Form, wie dies mit curl zu schreiben, können Sie eine Befehlszeile wie eingeben:

curl --form upload = @ localfilename --form drücken = OK [URL]

+0

Ich bin Entschuldigung, dies beschreibt das Argument "-F/- form" und nicht das Argument "-T/- upload-file". https://curl.haxx.se/docs/manpage.html#-F vs https://curl.haxx.se/docs/manpage.html#-T – OddDev

+0

Bearbeitet, es verwendet PUT – Qrchack

+0

Yep :) Changed meine - 1 bis +1 bereits. – OddDev

Verwandte Themen