0

Content-Length ヘッダーなしで実行すると、411 length required エラーが発生する cURL リクエストがあります。ヘッダーの配列に追加$header[] = 'Content-Length: 0すると、ゆっくりと実行されます (~15 秒)。

別のドメインで同じコードを問題なく使用しています。このドメインでは、content-length ヘッダーを設定する必要はなく、411 エラーも表示されません。このエラーは PUT リクエストでのみ発生するため、Content-Length エラーが問題に関連している可能性があると考えています。

これは私の現在のcURLリクエストです:

$curl = curl_init();

$header[] = 'Authorization: Basic 123123';
$header[] = 'Accept: text/xml';
//$header[] = 'Content-Length: 0';

curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_POSTFIELDS, $data);
curl_setopt($curl, CURLOPT_HTTPHEADER, $header);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);

$output = curl_exec($curl);
$error = curl_error($curl);

編集:私は自分を変更してCURLOPT_URL追加しましCURLOPT_POSTFIELDSた。

curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_POSTFIELDS, $data);

それ以外の

curl_setopt($curl, CURLOPT_URL, $url . $data);

このようにして、ヘッダーの必要性をなくすことができましたContent-Lengthが、リクエストは依然として非常に遅いです。

4

1 に答える 1