gpt4 book ai didi

curl - 如何使用curl获取与使用Chrome完全相同的GET请求?

转载 作者:行者123 更新时间:2023-12-03 05:33:57 28 4
gpt4 key购买 nike

我有一个 Web api http://something.com/api,我想使用 GET 来获取响应正文。

这是我的命令:

curl "http://something.com/api"

当然,它会失败并给出错误消息。

当我使用 Chrome 并输入上述网址时,一切正常。然而,我用 Firefox 做了同样的事情,该 url 给了我同样的错误消息。我尝试使用 Chrome 扩展 DHC 重复该操作,请求再次给出正确的响应。经过一番搜索,我相信curl选项--user-agent有所作为。将用户代理设置为 Chrome 的正确方法是什么?或者这不是重点,问题来自其他领域?非常感谢。

最佳答案

如果需要在curl请求中设置用户头字符串,可以使用-H选项来设置用户代理,例如:

curl -H "user-agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.182 Safari/537.36" http://stackoverflow.com/questions/28760694/how-to-use-curl-to-get-a-get-request-exactly-same-as-using-chrome

于 2021 年 2 月 22 日更新了最新 Chrome 的用户代理

<小时/>

使用像Charles Proxy这样的代理工具确实有助于快速完成您所要求的事情。以下是我所做的,使用此 SO 页面作为示例(截至 2015 年 7 月,使用 Charles 版本 3.10):

  1. 让 Charles 代理运行
  2. 使用浏览器发出网络请求
  3. 在 Charles Proxy 中查找所需请求
  4. 右键单击 Charles 代理中的请求
  5. 选择“复制 cURL 请求”

Copy cURL Request example in Charles 3.10.2

您现在有了一个可以在终端中运行的 cURL 请求,该请求将镜像您的浏览器发出的请求。这是我对此页面的请求(已删除 cookie header ):

curl -H "Host: stackoverflow.com" -H "Cache-Control: max-age=0" -H "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8" -H "User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.89 Safari/537.36" -H "HTTPS: 1" -H "DNT: 1" -H "Referer: https://www.google.com/" -H "Accept-Language: en-US,en;q=0.8,en-GB;q=0.6,es;q=0.4" -H "If-Modified-Since: Thu, 23 Jul 2015 20:31:28 GMT" --compressed http://stackoverflow.com/questions/28760694/how-to-use-curl-to-get-a-get-request-exactly-same-as-using-chrome

关于curl - 如何使用curl获取与使用Chrome完全相同的GET请求?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28760694/

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