3

特别是,当我将 firefox 设置为使用代理进行 https 流量时,我试图复制它的行为。

根据我的测试,Firefox 似乎向代理发送了 CONNECT 请求,而以下 curl 命令直接向代理发送 GET。

curl --proxy-basic mydomain.com:8001 https://www.google.com

对于 HTTPS 连接的代理,为了测试目的,如何使 curl 表现得像 firefox?

EDIT1:问题不在于用户代理,因为我并没有试图欺骗代理认为我是 Firefox,只是为了帮助代理像 Firefox 一样运行。

4

3 回答 3

2

我已经通过Firebug做到了这一点。

安装 firebug 后,请按照以下步骤操作:

  1. 右键单击 Firefox 中的网页并选择此选项:

在此处输入图像描述

  1. 选择Net选项卡

在此处输入图像描述

  1. 刷新页面

  2. 右键单击要模拟的 URL 请求

  3. 选择copy as cURL

在此处输入图像描述

  1. 您要模拟的 URL 请求现在位于剪贴板中。
于 2015-10-28T06:06:48.453 回答
1

您必须指定一个代理,否则事情将无法正常工作,请执行以下操作:

  1. curl -x 127.0.0.1:8888 "httpS://www.example.com/"— 确保您尝试通过 HTTPS 进行连接,否则将发送简单的 get。
  2. curl -p -x 127.0.0.1:8888 "http://www.example.com/"— 即使使用普通的 HTTP 资源,它也可以工作。

除了这个之外,很难找到关于该主题的任何现有主题,所以也许我正在回答一个已经回答的问题。

于 2016-02-07T15:04:09.903 回答
0

使用 CURLOPT_USERAGENT 选项将代理设置为 firefox

例如参考 CURL 用户代理

要处理 ssl 部分,请查看此示例 http://curl.haxx.se/libcurl/c/https.html

最好的方法是在以太实中进行捕获,然后使用 CURLOPT_* 设置相应的标头字段

于 2013-03-11T08:00:52.500 回答