PHP伪造请求头采集网页

在 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
喜欢就支持一下吧
点赞8
评论 抢沙发

请登录后发表评论

    暂无评论内容