PHP cURL kullanarak bir HTTP isteğinin gövdesine veri eklemek mümkün?

3 Cevap php

PHP cURL kullanarak bir http isteği vücudun bazı veri eklemek istiyorum.

Bu mümkün mü? Nasıl?

Ben bir uzak sunucuya bir HTTP isteği yolluyorum. İstediğim tüm başlıkları eklemiş, ama şimdi ben HTTP vücudun bazı daha fazla veri eklemek gerekiyor ama ben bunu nasıl çözemiyorum.

Bu gibi bir şey gerekiyordu:

Host: stackoverflow.com
Authorization: Basic asd3sd6878sdf6svg87fS
User-Agent: My user agent
... other headers...  

I want to add data to the request here

3 Cevap

Ne demek değil 100% Emin ...

Bir sayfa kapmak ve içeriğini değiştirmek istiyorsanız / bunun için bazı içerikleri eklemek - Eğer böyle bir şey yapabilirsiniz:

$ch = curl_init("http://stackoverflow.com/questions/1361169/possible-to-add-data-to-the-body-of-a-http-request-using-curl-in-php");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_BINARYTRANSFER, true);
$output = curl_exec($ch);

$output = str_replace('Possible to add data to the body of a HTTP request using cURL in PHP?', 'I have just changed the title of your post...', $output);

echo $output;

Bu sayfayı yazdırın olur ...

EDIT:

Yeni bilgiler eklenir, ben sadece 1 POST ayarlamak unutmayın .. Eğer postFields kullanmak gerekir sizce ..

Örneğin (Böyle bir şey - test değil)

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "http://stackoverflow.com");
curl_setopt($ch, CURLOPT_USERAGENT, "My user agent"); 
curl_setopt($ch, CURLOPT_HTTPHEADER, $myOtherHeaderStringVariable); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, "I want to add data to the request here");
$output = curl_exec($ch);

CURLOPT_POSTFIELDS seçeneği ile bir post isteği gönderirken yalnızca sonrası değerleri ekleyebilirsiniz.