WinHttp Proxy Settings in 64 Bit (x64) Environments

There are two settings for WinHttp Proxy settings for a 64 Bit OS.  One applies to the 64 bit environment and one for the 32 bit environment.  You can use netsh for Windows 2008, Windows 7 and later OSes and proxycfg.exe for earlier OSes.  If you are confused and not sure where your WinHttp application is reading proxy settings from, the easiest way to determine where WinHttp is reading proxy settings from is to use procmon (process monitor).

To set the x64 WinHttp settings using netsh.exe, simply open a command prompt and type ‘netsh winhttp set proxy’ and set your proxy there (if you do not supply arguments it gives you some examples).  This will run the 64 bit version of netsh from the System32 directory.

To set the 32 bit (x86) WinHttp settings, open a command prompt and navigate to the Windows\SysWOW64 directory and run netsh there.

For proxycfg.exe you need to run proxycfg from the command line (system32 dir by default so x64 code) or the proxycfg from the c:\windows\sysWow64\ directory (x86 – 32bit).


For another issue with the WinHttp COM object you can refer to my earlier post here:

Let me know if this helps you!

Comments (6)

  1. Archi says:

    This article is really helps me !

    Its solved my problem at Win7 x64 and  Vista x64.

    I just want to say thanks.

  2. Anung says:

    Hi jpsanders,

    I tried to set the proxy through both system32netsh.exe and sysWoW64netsh.exe but it seems does not work. I run from both ie 9, the proxy is not detected. I tried from firefox with no luck either. I did check the proxy log, there's no request to the proxy. I don't set proxy to both ie and firefox so I assume both ie and firefox will simply ignore this setting?


  3. Jeff Sanders says:

    Hi Anung,

    IE uses WinINet and has its own proxy settings.  You can set IE proxy settings through the IE Options.  This blog post is specific to WinHttp and is used for programs using WinHttp only.


  4. ccap says:

    Thanks jpsanders! This helped us a lot.

  5. EricLaw [MSFT] says:

    This issue has been addressed in Windows 8. Calling either netsh will set the proxy for both 32bit and 64bit WinHTTP clients.

  6. Dane Kantner says:

    Thanks, interesting clarification on wininet vs winhttp

    I was trying to configure an internal C++ app that uses an older MSXML2 COM component. The Internet in IE and .Net work via the proxy that is configured for the system, but this component isn't seeing that… only adding by netsh fixed. :]