使用Proxy Server和LibCurl,它可以读取默认的I.E.设置

时间:2012-07-12 14:36:06

标签: c++ libcurl proxy-server

我正在使用LibCurl。我有可能需要处理通过代理服务器。根据我目前的调查结果,我发现其他帖子已经提供了代理设置,例如......

One such solution/sample显示以下内容。

curl_setopt($ch, CURLOPT_HTTPPROXYTUNNEL, 1);
curl_setopt($ch, CURLOPT_PROXYAUTH, CURLAUTH_NTLM );
curl_setopt($ch, CURLOPT_PROXY, 'my.proxy');
curl_setopt($ch, CURLOPT_PROXYPORT, 'my.port');
curl_setopt($ch, CURLOPT_PROXYUSERPWD, 'domain\user:password');  

我的问题。我已经读过其他地方,Windows API可以读取从Internet Explorer中建立的任何“代理”设置,因此我们不必在我们的应用程序中跟踪它。客户端的安全技术人员将在I.E.中准备他们的服务器,端口,用户,密码等。然后去吧。

Libcurl是否也支持这个?如果是这样,怎么做。

3 个答案:

答案 0 :(得分:4)

这些线对我不起作用(我希望它能够击中小提琴手):

curl_setopt($ch, CURLOPT_HTTPPROXYTUNNEL, 1);
curl_setopt($ch, CURLOPT_PROXYAUTH, CURLAUTH_NTLM );
curl_setopt($ch, CURLOPT_PROXY, "127.0.0.1");
curl_setopt($ch, CURLOPT_PROXYPORT, "8888");
//curl_setopt($ch, CURLOPT_PROXYUSERPWD, 'domain\user:password'); //none in my case

相反,这一行有效:

curl_easy_setopt(curl, CURLOPT_PROXY, `"http://127.0.0.1:8888/");

答案 1 :(得分:2)

Libcurl不会自动检测,但您可以使用WinHttpGetIEProxyConfigForCurrentUser。请参阅:How do I find out the browser's proxy settings?

答案 2 :(得分:1)

不,libcurl不支持。