我知道为curl设置用户代理很容易,但是我的代码是基于get_headers的,默认情况下get_headers用户代理是空的。谢谢你的帮助。
yvfmudvl1#
也许是这个?
ini_set('user_agent', 'Mozilla/5.0');
szqfcxe22#
get_headers只指定由 server 发送到 client 的数据(在本例中是PHP),它不指定请求头。如果您试图查找发出get_headers请求的用户代理,则必须用途:
ini_get('user_agent');
有关更多文档,请参见以下链接:
puruo6ea3#
对于其他人来说,最好的选择是使用stream context options(特别是用户代理选项),而不是在服务器范围内进行更改,谁知道会发生什么情况。PHP文档已经展示了一个更改HTTP方法的示例(遗憾的是,还使用了全局设置🤦)。在任何情况下,代码都将类似于:
$context = stream_context_create([ 'http' => [ 'user_agent' => 'Mozilla/5.0' ] ]); $headers = get_headers('http://example.com', true, $context);
3条答案
按热度按时间yvfmudvl1#
也许是这个?
szqfcxe22#
get_headers只指定由 server 发送到 client 的数据(在本例中是PHP),它不指定请求头。
如果您试图查找发出get_headers请求的用户代理,则必须用途:
有关更多文档,请参见以下链接:
puruo6ea3#
对于其他人来说,最好的选择是使用stream context options(特别是用户代理选项),而不是在服务器范围内进行更改,谁知道会发生什么情况。
PHP文档已经展示了一个更改HTTP方法的示例(遗憾的是,还使用了全局设置🤦)。
在任何情况下,代码都将类似于: