PHP-Curl-Request Rückgabe HTTP Fehler 411: Der Antrag muss chunked oder content-Länge
Ich versuche zu senden, der folgende CURL-Anfrage in PHP. Aber seine Rückkehr: "HTTP Fehler 411. Der Antrag muss aufgeteilte oder eine Länge des Inhalts."
PHP-Script mit CURL-Anfrage:
<?php
$numbers = 9999999999;
$message = "Test";
$message = urlencode($message);
$port = 80;
$url = "http://191.95.51.64/API/sendsms.aspx?loginID=myloginid&password=mypassword&mobile=".$numbers."&text=".$message."&senderid=ABCDEF&route_id=1&Unicode=1";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt ( $ch, CURLOPT_PORT, $port );
curl_setopt ( $ch, CURLOPT_POST, 1 );
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt ( $ch, CURLOPT_TIMEOUT, 20 );
curl_setopt ( $ch, CURLOPT_CONNECTTIMEOUT, 20 );
$output = curl_exec($ch);
$err = curl_error($ch);
curl_close($ch);
if ($err) {
echo $err;
} else {
echo $output;
}
?>
Ausgabe:
Length Required
HTTP Error 411. The request must be chunked or have a content length.
Da bin ich auf das neue PHP Curl, so konnte ich nicht in der Lage sein, um herauszufinden, was falsch ist. Wenn jemand kann kurz-Anleitung mir die Lösung mit einem Beispiel, werde ich sehr geschätzt an ihm. Danke!
InformationsquelleAutor Amlan Dutta | 2017-10-01
Du musst angemeldet sein, um einen Kommentar abzugeben.
Da Ihre Daten zu sein scheint, senden Sie als URL-Parameter, versuchen Sie, hinzufügen von content-length-header von null wie folgt:
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Length: 0'));
Auch statt der Berührung der content-length-header, einfach versuchen, fügen Sie einen leeren POST-body. Basierend auf welche Art von HTTP-server, den Sie buchen, das Verhalten unterscheidet sich geringfügig (IIS, LightHTTPD, Apache).
Leere post-Körper ähnlich:
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode(array()));
InformationsquelleAutor raidenace
Du hast vergessen zu schließen Zitat:
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Length: 0'));
InformationsquelleAutor Neal Garrett