easy:SetOpt_Post(post)
post
auf 1 gesetzt, weist libcurl an, einen regulären
HTTP-Post zu schreiben. Dadurch verwendet die Bibliothek auch den
Header "Content-Type: application/x-wwww-form- urlencoded".
(Dies ist bei weitem die am häufigsten verwendete POST-Methode).
Verwenden Sie #CURLOPT_POSTFIELDS
, um anzugeben, welche Daten
gesendet werden sollen.
Optional können Sie POST-Daten mit den Optionen #CURLOPT_READFUNCTION
und
#CURLOPT_READDATA
zur Verfügung stellen, aber dann müssen Sie sicherstellen,
dass Sie #CURLOPT_POSTFIELDS
nicht auf etwas anderes als Null setzen. Wenn Sie
Daten mit einem Callback zur Verfügung stellen, müssen Sie sie mit gebündelter
Übertragungscodierung übertragen oder die Größe der Daten mit den Optionen
#CURLOPT_POSTFIELDSIZE
oder #CURLOPT_POSTFIELDSIZE_LARGE
einstellen. Um die
Chunked-Codierung zu aktivieren, übergeben Sie einfach den entsprechenden
Transfer-Encoding-Header (siehe Beispiel post-callback.c).
Sie können den standardmäßigen POST Content-Type: Header überschreiben,
indem Sie Ihren eigenen mit #CURLOPT_HTTPHEADER
einstellen.
Die Verwendung von POST mit HTTP 1.1 impliziert die Verwendung eines
"Expect: 100-continue" Headers. Sie können diesen Header mit #CURLOPT_HTTPHEADER
wie gewohnt deaktivieren.
Wenn Sie POST an einen HTTP 1.1-Server verwenden, können Sie Daten senden,
ohne die Größe zu kennen, bevor Sie den POST starten, wenn Sie eine gebündelte
Verschlüsselung verwenden. Sie aktivieren dies, indem Sie einen Header wie
"Transfer-Encoding: chunked" mit #CURLOPT_HTTPHEADER
hinzufügen. Bei HTTP 1.0
oder ohne gebündeltem Transfer müssen Sie die Größe in der Anfrage angeben.
Wenn #CURLOPT_POST
auf 1 gesetzt wird, setzt libcurl automatisch
#CURLOPT_NOBODY
und #CURLOPT_HTTPGET
auf 0.
Wenn Sie eine POST-Anfrage stellen und dann einen HEAD oder GET mit dem
gleichen wiederverwendeten Handle erstellen möchten, müssen Sie den neuen
Anforderungstyp explizit mit #CURLOPT_NOBODY
oder #CURLOPT_HTTPGET
oder ähnlich einstellen.