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

rmbxnbpk  于 12个月前  发布在  其他
关注(0)|答案(4)|浏览(139)

特别是,我试图复制firefox的行为,当我设置它为https流量代理时。
在我的测试中,Firefox向代理发送CONNECT请求,而下面的curl命令直接向代理发送GET。

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

我怎样才能使curl的行为像firefox一样,以测试HTTPS连接的代理?
问题不在User-Agent上,因为我并没有试图欺骗代理,让代理认为我是firefox,只是为了帮助代理像Firefox一样发挥功能。

tf7tbtn2

tf7tbtn21#

我已经通过Firebug完成了这个任务。
安装firebug后,请按照以下步骤操作:
1.右键单击Firefox中的网页并选择此选项:

1.选择Net选项卡

1.刷新页面
1.右键单击要模拟的URL请求
1.选择copy as cURL

1.要模拟的URL请求现在已在剪贴板中。

7vhp5slm

7vhp5slm2#

你必须指定一个代理,否则事情将无法正常工作,这样做:

  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资源也可以工作。
    很难找到任何已经存在的主题除了这个,所以也许我回答了一个已经回答的问题。
eeq64g8w

eeq64g8w3#

使用CURLOPT_USERAGENT选项将代理设置为Firefox
例如参考The CURL User Agent
要处理ssl部分,请看这个例子http://curl.haxx.se/libcurl/c/https.html
最好的方法是在真实的中进行捕获,然后使用CURLOPT * 设置相应的头字段

k2arahey

k2arahey4#

十年后,我现在有必要的知识来回答我自己的问题:

HTTPS_PROXY=mydomain.com:8001 curl -v https://google.com

相关问题