Nasıl bir sayfaya $_POST
değerleri cURL kullanarak geçmek?
Iyi çalışması gerekir.
$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);
Biz CURLOPT_POST
hangi HTTP POST açar, burada iki seçeneğiniz var, ve CURLOPT_POSTFIELDS
hangi göndermek için yazılan verilerin bir dizi içerir. Bu POST
<form>
s veri göndermek için kullanılabilir.
O curl_setopt($handle, CURLOPT_POSTFIELDS, $data);
iki formatta $ verileri alır, ve bu post verileri kodlanmış olacak nasıl karar verdiğine dikkat etmek önemlidir.
$data
olarak array()
: data multipart/form-data
olan her sunucu tarafından kabul edilmez olarak gönderilecektir.
$data = array('name' => 'Ross', 'php_master' => true);
curl_setopt($handle, CURLOPT_POSTFIELDS, $data);
$data
url kodlanmış bir dize olarak: Veri gönderilen html formu verileri için varsayılan kodlama olan application/x-www-form-urlencoded
olarak gönderilecektir.
$data = array('name' => 'Ross', 'php_master' => true);
curl_setopt($handle, CURLOPT_POSTFIELDS, http_build_query($data));
Ben bu diğerleri zamandan tasarruf yardımcı olacağını umuyoruz.
Bkz:
@pix0r
Heh, need more coffee I think :) Thanks.
Ross has the right idea bir url olağan parametre / değer biçimini ilanı için.
Geçenlerde işte bunu nasıl ben herhangi bir parametre çiftleri olmadan Content-Type "text / xml" gibi bazı XML POST için gerekli bir durumda koştu:
$xml = '<?xml version="1.0"?><stuff><child>foo</child><child>bar</child></stuff>';
$httpRequest = curl_init();
curl_setopt($httpRequest, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($httpRequest, CURLOPT_HTTPHEADER, array("Content-Type: text/xml"));
curl_setopt($httpRequest, CURLOPT_POST, 1);
curl_setopt($httpRequest, CURLOPT_HEADER, 1);
curl_setopt($httpRequest, CURLOPT_URL, $url);
curl_setopt($httpRequest, CURLOPT_POSTFIELDS, $xml);
$returnHeader = curl_exec($httpRequest);
curl_close($httpRequest);
Benim durumumda, ben mutlaka RETURNTRANSFER veya HEADER ayarlamak gerek olmayabilir HTTP cevap başlığının üzerinden bazı değerleri ayrıştırmak için gerekli.
Bunu yapmak için nasıl bir örnek vardır this page hangi edin.
CURL kullanarak başka basit php örnek:
<?php
$ch = curl_init(); // initiate curl
$url = "http://www.somesite.com/curl_example.php"; // where you want to post data
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_POST, true); // tell curl you want to post something
curl_setopt($ch, CURLOPT_POSTFIELDS, "var1=value1&var2=value2&var_n=value_n"); // define what you want to post
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); // return the output in string format
$output = curl_exec ($ch); // execute
curl_close ($ch); // close curl handle
var_dump($output); // show output
?>
Örnek burada bulunan: http://devzone.co.in/post-data-using-curl-in-php-a-simple-example/