如何使用curl通过代理模拟Firefox的请求?

时间:2013-03-11 07:57:28

标签: firefox curl https proxy

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

在我的测试中,似乎Firefox向代理发送CONNECT请求,而以下curl命令直接将GET发送到代理。

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

对于HTTPS连接的代理,如何使curl像firefox一样进行测试?

EDIT1:问题不在于User-Agent,因为我并没有试图欺骗代理人认为我是firefox,只是为了像Firefox一样帮助代理功能。

3 个答案:

答案 0 :(得分:2)

我通过Firebug完成了这项工作。

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

  1. 右键单击firefox中的网页,然后选择以下选项:
  2. enter image description here

    1. 选择[["", "ear", "th"], ["", "art", undefined]]标签
    2. enter image description here

      1. 刷新页面

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

      3. 选择Net

      4. enter image description here

        1. 您要模拟的网址请求现在位于剪贴板中。

答案 1 :(得分: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资源,该功能也能正常工作。
  3. 除此之外很难找到关于该主题的任何现有主题,所以也许我正在回答已经回答的问题。

答案 2 :(得分:0)

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

例如参考 The CURL User Agent

处理ssl部分请看这个例子 http://curl.haxx.se/libcurl/c/https.html

最好的方法是在Ether实现捕获,然后使用CURLOPT设置相应的头字段_ *

相关问题