GET-curl请求仅在postman中有效,而在php中无效
我试图获得html作为响应,但它只在postman中有效,而在php中无效。在php中,我得到了不同的回答,比如“出了点问题…” 我错过了什么 以下是代码:GET-curl请求仅在postman中有效,而在php中无效,php,curl,Php,Curl,我试图获得html作为响应,但它只在postman中有效,而在php中无效。在php中,我得到了不同的回答,比如“出了点问题…” 我错过了什么 以下是代码: $curl = curl_init(); curl_setopt_array($curl, array( CURLOPT_URL => "https://www.avnet.com/shop/SearchDisplay?searchTerm=LMK316BJ476ML-T&countryId=apac&defla
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "https://www.avnet.com/shop/SearchDisplay?searchTerm=LMK316BJ476ML-T&countryId=apac&deflangId=-1&storeId=715839038&catalogId=10001&langId=-1&sType=SimpleSearch&resultCatEntryType=2&searchSource=Q&searchType=100&avnSearchType=all",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => array(
"Cache-Control: no-cache"
),
));
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
邮递员回应
php响应
提前谢谢 我研究了CURLOPT_HTTPHEADER,发现站点正在验证两个Header,它们是用户代理和接受语言。我正确地发送了它,它工作了。请在下面找到标题
CURLOPT_HTTPHEADER => array(
"User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.106 Safari/537.36",
"Accept-Language:en-US,en;q=0.5"
)
喜欢解决这个问题。邮递员是否正在发送用户代理标头?不,这是我从邮递员那里复制并在php脚本中使用的相同代码。您是否尝试执行
curl
request from命令?因为当您从命令执行curl
请求时,您将得到与您现在得到的“出错”相同的响应。您是否在postman中单独执行此url?这可能是因为以前保存的cookie值?我对原始问题的第一个评论是用户-agent@Dale这不是我的问题:)。我是一个贡献者。它也希望接受语言。哦,是的!向朋友道歉/走开embaressment@Dale你为什么不给我投票支持这件好作品呢?我很抱歉@Dale,我确实尝试过用用户代理发送请求,但没有成功。如果邮递员发送了任何标题,我也尝试过查看,但除了缓存控制之外,找不到任何标题。