gpt4 book ai didi

r - 无法通过 httr::user_agent 设置用户代理

转载 作者:行者123 更新时间:2023-12-02 08:34:36 25 4
gpt4 key购买 nike

在 MS Windows 上尝试通过 httr::GET() 调用中的 httr::user_agent 更改用户代理时,有什么特别需要考虑的吗?我使用的是 R-3.1.0httr 0.3

按照 ?user_agent 中的示例,我得到以下结果:

url_this <- "http://httpbin.org/user-agent"

标准用户代理:

GET(url_this)   
Response [http://httpbin.org/user-agent]
Status: 200
Content-type: application/json
{
"user-agent": "curl/7.19.6 Rcurl/1.95.4.1 httr/0.3"
}

修改后的用户代理:

GET(url_this, user_agent("Mozilla/5.0"))
Response [http://httpbin.org/user-agent]
Status: 200
Content-type: application/json
{
"user-agent": "curl/7.19.6 Rcurl/1.95.4.1 httr/0.3"
}

我预计第二次调用返回的结果更接近我在浏览器中访问 url_this 时得到的结果:

{
"user-agent": "Mozilla/5.0 (Windows NT 6.3; WOW64; rv:29.0) Gecko/20100101 Firefox/29.0"
}

我在这里缺少什么?还先运行了 setInternet2(TRUE),但得到了相同的结果。

最佳答案

很好奇帮助页面?user_agent表明它应该可以工作。您可以显式设置 header 并且它确实有效

> GET("http://httpbin.org/user-agent", add_headers("user-agent" = "Mozilla/5.0"))
Response [http://httpbin.org/user-agent]
Status: 200
Content-type: application/json
{
"user-agent": "Mozilla/5.0"
}

?user_agent 中给出的示例似乎并非如此。

> GET("http://httpbin.org/user-agent", user_agent("Mozilla/5.0") )
Response [http://httpbin.org/user-agent]
Status: 200
Content-type: application/json
{
"user-agent": "curl/7.19.6 Rcurl/1.95.4.1 httr/0.3"
}
>

回来了

> httr:::default_ua()
[1] "curl/7.19.7 Rcurl/1.95.4.1 httr/0.3"

我的 ISP 也在做一些奇怪的事情,所以你可能需要:

GET("http://httpbin.org/user-agent", add_headers("user-agent" = "Mozilla/5.0", "Cache-Control" = "no-cache"))

关于r - 无法通过 httr::user_agent 设置用户代理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23545748/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com