Hallo Forum,
ich habe Probleme bei der Verwendung von cURL. Seit längerem Versuche ich per PHP an einen Web Service zu POSTen. Doch leider ohne Erfolg.
Die Daten sollen als JSON Objekt gepostet werden. Dafür Encodiere ich mir das Array.
wenn ich mir $data ausgebe:
das Format entspricht der Vorgabe und ist auch Json konform. Also so “sollte” es funktionieren.
Sagt mir jedoch dass meine Response NULL ist. Und auch der Web Service antwortet mir, Bad Request 400.
Ich arbeite mit OSX und habe einen Apache PHP 5.5.14 auf nem MAMP. (falls das wichtig ist)
Hat jemand einen Tipp warum es nicht klappt ?
Hab gefühlt das ganze Netz durchforstet.
ich habe Probleme bei der Verwendung von cURL. Seit längerem Versuche ich per PHP an einen Web Service zu POSTen. Doch leider ohne Erfolg.
Die Daten sollen als JSON Objekt gepostet werden. Dafür Encodiere ich mir das Array.
PHP-Code:
$data = json_encode(array(
'name' => 'Namederproduction',
'description' => 'Beschreibungderproduction'
));
PHP-Code:
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
wenn ich mir $data ausgebe:
PHP-Code:
{"name":"Namederproduction","description":"Beschreibungderproduction”}
PHP-Code:
var_dump($_POST);
PHP-Code:
$url = "http://test/test.json";
$ch = curl_init();
//Meine Curl Options
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, POST);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HEADER, true);
curl_setopt($ch, CURLOPT_CRLF, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($ch, CURLINFO_HEADER_OUT, true);
curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.13) Gecko/20080311 Firefox/2.0.0.13');
curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie);
$data = json_encode(array(
'name' => 'Namederproduction',
'description' => 'Beschreibungderproduction'
));
curl_setopt($ch, CURLOPT_POST, count($data));
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
//Header
$header = array('Cookie: login-token=' . $token,
'Content-Length: ' . strlen($data),
'Content-Type: application/json;charset=UTF-8',
'Accept: application/json;charset=UTF-8');
curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
$output = curl_exec($ch);
curl_close($ch);
print_r($output);
Ich arbeite mit OSX und habe einen Apache PHP 5.5.14 auf nem MAMP. (falls das wichtig ist)
Hat jemand einen Tipp warum es nicht klappt ?
Hab gefühlt das ganze Netz durchforstet.

Kommentar