我想通過一些基本認證(通過發送加密的標頭)進行CURL請求。但是,當我嘗試設置"Host: _"
標頭時,遠程服務器響應:無法設置「主機:」帶CURL請求的標頭
錯誤的請求:您的瀏覽器發送了此服務器無法理解的請求。
這是使CURL調用的代碼。請注意,只要我註釋掉$http_header
變量中的"Host: url"
標題,它就會生效。但是,它在目標服務器上用作身份驗證過程的一部分,因此我不能簡單地將其刪除。
$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=='