cURL PHP RESTful-Service gibt immer FALSE zurück

7

Ich habe Schwierigkeiten, ein JSON-Objekt an eine API anzuhängen, die REST verwendet. Ich bin neu in cURL, aber ich habe überall gesucht, um eine Antwort auf mein Problem zu finden, aber ich bin kurz gekommen. Meine cURL-Anfrage gibt immer false zurück. Ich weiß, dass es nicht einmal mein Json-Objekt veröffentlicht, weil ich immer noch eine Antwort von der URL erhalten würde. Mein Code ist unten.

%Vor%

Die $ Antwort gibt nur "false" zurück

Irgendwelche Gedanken?

    
stekrose 14.04.2011, 00:49
quelle

1 Antwort

24

$response ist wahrscheinlich falsch, weil curl_exec() false (d. h. Fehler) in $result zurückgibt. Echo out curl_error($ch) (nach dem Aufruf von curl_exec), um den cURL-Fehler zu sehen, wenn das das Problem ist.

Ich nehme an, dass Ihr CURLOPT_POSTFIELDS in einem ungültigen Format ist. Sie übergeben keine JSON-Zeichenfolge.

  

Dieser Parameter kann als übergeben werden   eine urlencodierte Zeichenfolge wie   "para1 = val1 & amp; para2 = val2 & amp; ..." oder als ein   Array mit dem Feldnamen als Schlüssel und   Felddaten als Wert.

     

- PHP-Dokumente für curl_setopt ()

Aktualisieren

Der schnelle Weg, den SSL-Fehler zu vermeiden, besteht darin, diese Option hinzuzufügen:

%Vor%

Sie erhalten einen SSL-Verifizierungsfehler, da cURL im Gegensatz zu Browsern keine vorinstallierte Liste vertrauenswürdiger Zertifizierungsstellen (Certificate Authorities, CAs) enthält, sodass standardmäßig keine SSL-Zertifikate vertrauenswürdig sind. Die schnelle Lösung besteht darin, nur Zertifikate ohne Überprüfung zu akzeptieren, indem Sie die obige Zeile verwenden. Die bessere Lösung besteht darin, nur die Zertifikate oder CAs, die Sie akzeptieren möchten, manuell hinzuzufügen. Siehe diesen Artikel zu cURL und SSL für weitere Informationen.

    
Wiseguy 14.04.2011, 01:58
quelle