2017-10-01 7 views
1

PHPで次のCURLリクエストを送信しようとしています。しかし、その戻り値: "HTTPエラー411です。要求はチャンク化されているか、内容の長さが必要です。"HTTPエラー411を返すPHP Curlリクエスト:リクエストがチャンクされているか、内容の長さがある必要があります

CURLリクエストを含む

PHPスクリプト:

<?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; 
} 
?> 

出力:

Length Required 

HTTP Error 411. The request must be chunked or have a content length. 

私はPHPカールを使用して新しいので、私はいただきました!間違っを見つけることができませんでしたので。誰かが簡単に例を挙げて解決策を導くことができれば、私は彼に非常に感謝しています。ありがとう!

答えて

2

あなたのデータがURLのparamとして送っているように見えるので、以下のようにゼロのコンテンツ長ヘッダーを追加してみてください:

curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Length: 0));

また、代わりにコンテンツ長ヘッダーに触れるのは、単に空のPOSTを追加しよう体。あなたが投稿しているHTTPサーバのタイプに基づいて、動作は若干異なります(IIS、LightHTTPD、Apache)。

に似た空のポスト本体:

curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode(array()));

関連する問題