在 PHP 中,可以使用 cURL 库来模拟发送 HTTP 请求,并设置请求头信息,从而伪造请求头进行网页采集。以下是一个示例代码:
// 创建 cURL 句柄
$ch = curl_init();
// 设置请求 URL
curl_setopt($ch, CURLOPT_URL, 'https://www.example.com');
// 设置请求头信息
$headers = array(
'User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.104 Safari/537.36',
'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8',
'Accept-Language: en-US,en;q=0.5',
'Referer: https://www.google.com/',
);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
// 设置其他 cURL 选项
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
// 执行 HTTP 请求
$response = curl_exec($ch);
// 检查是否有错误发生
if(curl_errno($ch)) {
echo 'cURL error: ' . curl_error($ch);
}
// 关闭 cURL 句柄
curl_close($ch);
// 输出响应结果
echo $response;
在上面的代码中,我们首先创建了一个 cURL 句柄,并设置了请求的 URL 和请求头信息。请求头信息中包括了 User-Agent、Accept、Accept-Language 和 Referer 等常见的请求头字段,你可以根据需要自行添加或修改。
然后,我们还设置了一些其他的 cURL 选项,如 CURLOPT_RETURNTRANSFER、CURLOPT_FOLLOWLOCATION、CURLOPT_SSL_VERIFYHOST 和 CURLOPT_SSL_VERIFYPEER,这些选项可以控制 cURL 的行为,例如是否返回响应结果、是否跟随重定向、是否验证 SSL 证书等等。
最后,我们执行了 HTTP 请求,并将响应结果输出到页面上。如果有错误发生,我们还通过 curl_errno 和 curl_error 函数输出了 cURL 的错误信息。
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END
暂无评论内容