I think it was simpler than I though. I was able to retrieve the .pac file that 
Internet Explorer was pointing to and it contained the proxy settings. I used 
the proxy info in libcurl with the CURLOPT_PROXY and CURLOPT_PROXYPORT and 
magic happened, it works.

Thanks a lot for your input! It really helped.

M

> On Mar 9, 2015, at 2:42 PM, Mathieu Fregeau <[email protected]> wrote:
> The LAN settings in Internet Explorer (which is the official configured 
> client at my company) is set at "use automatic configuration script" and 
> points to a .pac file on the Ethernet. The proxy parameters are left blank 
> and are disabled.
> 
> I can run Firefox though which I needed to add a few domain names under 
> "network.automatic-ntlm-auth.trusted-Uris" (several domain separated by 
> comas) as well as the same settings under 
> "network.negotiate-auth.delegation-uris" and  
> "network.negotiate-auth.thrusted-uris"
> 
> I came to know which domain to add to these Firefox settings after I clicked 
> a non-Ethernet link and Firefox would tell me that such and such domain 
> wasn't on the approved list or something. 
> 
> Possibly that one of these (or all) is a proxy. Can libcurl accepts a list of 
> proxy so I can try mimicking Firefox perhaps? I guess my main question now is 
> do I need to focus on the proxy settings or could it be another setting 
> instead? Thanks for your inputs.
> 
> M
> 
>>> On Mar 9, 2015, at 1:32 PM, Ray Satiro via curl-library 
>>> <[email protected]> wrote:
>>> 
>>> On 3/5/2015 7:52 PM, Mathieu Fregeau wrote:
>>> library version: curl 7.41.0
>>> compiler: c++, mingw32 (gcc 4.8)
>>> 
>>> I can't resolve my request when at the office computer, while it works well 
>>> at home. I suspect something about firewall, but I can browse on the same 
>>> url via a browser (firefox and ie). Is there a way to have curl use the 
>>> same exact settings of the current browser? such that I can use the same 
>>> channels or firewall bypass?
>>> 
>>> Here are my request settings:
>>> 
>>> curl_easy_setopt(curl, CURLOPT_URL, url);
>>> curl_easy_setopt(curl, CURLOPT_FOLLOWLOCATION, 1L);//follow redirection
>>> curl_easy_setopt(curl, CURLOPT_REFERER, url);
>>> curl_easy_setopt(curl, CURLOPT_HEADER, 0L);
>>> curl_easy_setopt(curl, CURLOPT_NOPROGRESS, 1L);//no progress
>>> curl_easy_setopt(curl, CURLOPT_VERBOSE, 0L);//1=verbose, 0=non verbose
>>> curl_easy_setopt(curl, CURLOPT_SSL_VERIFYPEER, 0L);
>>> curl_easy_setopt(curl, CURLOPT_IPRESOLVE, CURL_IPRESOLVE_WHATEVER);
>>> curl_easy_setopt(curl, CURLOPT_REDIR_PROTOCOLS, CURLPROTO_HTTP | 
>>> CURLPROTO_HTTPS | CURLPROTO_FILE | CURLPROTO_SCP);
>>> curl_easy_setopt(curl, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows 
>>> NT 6.1; WOW64) AppleWebKit/535.7 (KHTML, like Gecko) Chrome/16.0.912 
>>> Safari/535.7 Firefox/3.5.16");
>>> curl_easy_setopt(curl, CURLOPT_AUTOREFERER, 1L);
>>> curl_easy_setopt(curl, CURLOPT_FAILONERROR, 1L);//report failure for http 
>>> code > 400
>>> curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, CurlWriteFunction);//function 
>>> to keep response
>>> curl_easy_setopt(curl, CURLOPT_WRITEDATA, &body);// keep response in 
>>> variable
>>> 
>>> res = curl_easy_perform(curl);
>>> 
>>> like I said it works from my home computer but just not at work.
>> 
>> Go into Internet Options > Connections > LAN settings and see if you have a 
>> proxy server. You can use CURLOPT_PROXY to set the proxy [1]. There isn't 
>> functionality in libcurl to get that proxy configuration automatically, 
>> though you can find some code that shows how to do that at [2].
>> 
>> Also I'm reminded of a similar "can't resolve host" in windows question on 
>> the mailing list a week ago where the user had only partially initialized 
>> libcurl [3]. Absent that try my suggestions from that thread [4].
>> 
>> 
>> [1]: http://curl.haxx.se/libcurl/c/CURLOPT_PROXY.html
>> [2]: 
>> http://stackoverflow.com/questions/202547/how-do-i-find-out-the-browsers-proxy-settings
>> [3]: http://curl.haxx.se/mail/lib-2015-03/0061.html
>> [4]: http://curl.haxx.se/mail/lib-2015-03/0046.html
>> 
>> -------------------------------------------------------------------
>> List admin: http://cool.haxx.se/list/listinfo/curl-library
>> Etiquette:  http://curl.haxx.se/mail/etiquette.html

-------------------------------------------------------------------
List admin: http://cool.haxx.se/list/listinfo/curl-library
Etiquette:  http://curl.haxx.se/mail/etiquette.html

Reply via email to