Wie übergeben Sie $_POST
Werte mit an eine Seite cURL
?
Sollte gut funktionieren.
$data = array('name' => 'Ross', 'php_master' => true);
// You can POST a file by prefixing with an @ (for <input type="file"> fields)
$data['file'] = '@/home/user/world.jpg';
$handle = curl_init($url);
curl_setopt($handle, CURLOPT_POST, true);
curl_setopt($handle, CURLOPT_POSTFIELDS, $data);
curl_exec($handle);
curl_close($handle)
Wir haben hier zwei Optionen, CURLOPT_POST
die den HTTP-POST aktivieren und CURLOPT_POSTFIELDS
ein Array unserer zu übermittelnden Post-Daten enthalten. Dies kann verwendet werden, um Daten an POST
<form>
s zu senden .
Es ist wichtig zu beachten, dass curl_setopt($handle, CURLOPT_POSTFIELDS, $data);
die $ -Daten in zwei Formaten verwendet werden und dass dies bestimmt, wie die Post-Daten codiert werden.
$data
als array()
: Die Daten werden so gesendet, wie multipart/form-data
sie vom Server nicht immer akzeptiert werden.
$data = array('name' => 'Ross', 'php_master' => true);
curl_setopt($handle, CURLOPT_POSTFIELDS, $data);
$data
als URL-codierte Zeichenfolge: Die Daten werden als gesendet. Dies application/x-www-form-urlencoded
ist die Standardcodierung für übermittelte HTML-Formulardaten.
$data = array('name' => 'Ross', 'php_master' => true);
curl_setopt($handle, CURLOPT_POSTFIELDS, http_build_query($data));
Ich hoffe, dies wird anderen helfen, ihre Zeit zu sparen.
Sehen:
Ross hat die richtige Idee, das übliche Parameter- / Wertformat an eine URL zu senden.
Ich bin kürzlich auf eine Situation gestoßen, in der ich XML als Inhaltstyp "text / xml" ohne Parameterpaare POSTEN musste. So geht's:
In meinem Fall musste ich einige Werte aus dem HTTP-Antwortheader analysieren, damit Sie möglicherweise nicht unbedingt
CURLOPT_RETURNTRANSFER
oder festlegen müssenCURLOPT_HEADER
.quelle
quelle
Ein weiteres einfaches PHP-Beispiel für die Verwendung von cURL:
Beispiel hier gefunden: http://devzone.co.in/post-data-using-curl-in-php-a-simple-example/
Anstatt zu verwenden
curl_setopt
, können Sie verwendencurl_setopt_array
.http://php.net/manual/en/function.curl-setopt-array.php
quelle
curl_setopt($ch, CURLOPT_POSTFIELDS, "var1=value1&var2=value2&var_n=value_n"); // Define what you want to post
hat mir das geliefert, wonach ich gesucht habe :)Schauen Sie sich diese Seite an, die ein Beispiel dafür enthält.
quelle
Schauen Sie sich die cUrl PHP-Dokumentationsseite an . Es hilft viel mehr als nur mit Beispielskripten.
quelle
quelle
quelle