基本認証を使用して(暗号化されたヘッダーを送信して)CURLリクエストを作成しようとしています。ただし、"Host: _"
ヘッダーを設定しようとすると、リモートサーバーは次のように応答します。
不正なリクエスト:ブラウザがこのサーバーが理解できないリクエストを送信しました。
CURL呼び出しを行うコードは次のとおりです。変数の"Host: url"
ヘッダーをコメントアウトするとすぐに機能することに注意してください。$http_header
ただし、認証手順の一環として対象サーバーで使用されているため、単純に削除することはできません。
$curl = curl_init();
$opt = array(
CURLOPT_URL=>$url,
CURLOPT_RETURNTRANSFER=>1,
CURLOPT_HTTPHEADER=>$http_header,
CURLOPT_POST=>1,
CURLOPT_POSTFIELDS=>$data_params,
CURLOPT_CONNECTTIMEOUT=>5, // Timeout to 5 seconds
);
curl_setopt_array($curl, $opt);
// $output contains the output string
$output = curl_exec($curl);
// it closes the session
curl_close($curl);
$http_header
(連想配列)の内容:
array
0 => string 'Host: http://localhost/work/myproject'
1 => string 'Content-Type: multipart/form-data'
2 => string 'X-Authorization: Basicauth Z2xZjA2YzJhMzIxYTI1ZmIzZTgxYQ=='