225

I need to know what the address for my proxy server is so I can configure another program to also use it. If I go into IE, Internet Properties, LAN Settings, then all I see is an automatic configuration script but not the actual proxy address. How can I get this?

I'm using Windows XP.

studiohack
  • 13,468
  • 19
  • 88
  • 118
Mike Christensen
  • 3,881
  • 12
  • 33
  • 40
  • 1
    This question may also be useful: http://serverfault.com/questions/696020/retrieve-internet-proxy-server-address-via-powershell – Hugo Ideler Sep 13 '16 at 11:29

14 Answers14

232

The auto proxy detection system works by downloading a file called wpad.dat from the host wpad. First confirm this host exists from a command prompt:

ping wpad

If it doesn't exist, you may have to put the correct DNS suffix. In the same command prompt, type

ipconfig /all

You should see a Primary DNS Suffix and a DNS Suffix Search List

Try appending each of these with a . to wpad:

ping wpad.<primary dns suffix>

If any of these work, then in your browser enter http://wpad.<suffix>/wpad.dat. This will download the proxy auto configuration file you can open in notepad.exe

Toward the bottom of this file, you should see a line saying

PROXY <host:port>;

It might be repeated if you have multiple proxies available. The host and port are what you need.

If this file doesn't exist, then either there is no proxy server, or the proxy server is being provided by dhcp (note that this would only work with IE, so if firefox can surf, this is not the method being used). If you don't have access to the dhcp server to see what it is sending, the easiest way would be to open a site in ie, then go to a command prompt. Type

netstat -ban

This will provide a list of connections made with the process id of each process. Go to Task Manager, and select View/Select Columns and enable PID (Process Identifier). Look for the PID of iexplore.exe in the list returned by netstat -ban This will reveal the proxy ip and port.

Paul
  • 59,223
  • 18
  • 147
  • 168
  • I tried in both IE and Firefox, neither could find that site. – Mike Christensen Oct 14 '11 at 01:23
  • I updated my answer with some more detail... – Paul Oct 14 '11 at 02:46
  • It probably works on some systems, but there's no host called "wpad" here (with or without the DNS suffix). I think this might be configured through some sort of domain policy or logon script, since it's greyed out in IE and cannot be changed. Anyway, I ended up writing a little C# program to get it instead. Hopefully your answer will help someone though! – Mike Christensen Oct 14 '11 at 15:04
  • 4
    To download the automatic configuration script I find it is easier to just copy and paste the link to the script into the address bar (YMMV)… – mousio Oct 17 '11 at 21:30
  • Yeah good point - I read the OP as using "automatically detect proxy settings", but on a re-read, it looks like you are right, he could just copy and paste the url... it explains why wpad didn't work. – Paul Oct 17 '11 at 22:24
  • 2
    Yea the problem with that is the domain policy prevents that from being changed, and IE disables the box for the URL. It won't let you copy it or see the entire thing heh. – Mike Christensen Oct 30 '11 at 19:03
  • 3
    Instead of wpad.dat, my proxy configuration apparently uses a "proxy.pac" file that appears in the "use automatic configuration script" section of the LAN settings. This is a script which determines a proxy server to use. – Ben Jun 15 '15 at 17:59
  • 1
    @Ben Hi Ben, that is right, this answer focuses on auto detection, rather than auto configuration. You are welcome to enhance the answer. – Paul Jun 15 '15 at 21:31
  • 2
    Did not work for me on Windows 10 – Janac Meena Jul 24 '18 at 14:18
91

See edit below.

I have one more easy way to find it. Install chrome and go to below URL to see the proxy details

 chrome://net-internals/#proxy

You will be able to see all the details

EDIT September 2020

As stated in the comment by @RMorrisey, you can use the following link (Chrome 85.x.x.x)

chrome://net-export/
Nimble Fungus
  • 1,043
  • 7
  • 3
77

Try the following command in cmd:

reg query "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings" | find /i "proxyserver"

Hope helps

Lelouchzqy
  • 871
  • 6
  • 3
  • 20
    In my case, I had to find "AutoConfigURL" instead of "proxyserver". This led me to a *.pac file which I could read through to find the default proxy returned by the script. – Ben Jun 15 '15 at 17:57
  • For me, this was the only answer that showed me my actual proxy address. The others tended to show me where to find a script, which I would have to hand-parse to understand which rules applied to me. – Duncan Jones Apr 18 '18 at 10:55
  • Only thing that worked so far. – saran3h Jun 24 '20 at 19:40
  • This worked for me, I got the auto config URL, downloaded the PAC file and read proxy config – camposer Aug 19 '20 at 11:34
37

The following command also seems to work. As a bonus it avoids contacting lots of DNS servers that might or might not work, and it avoids querying the registry, so it functions even in fairly locked-down environments:

Windows Vista or later:

netsh winhttp show proxy

Windows XP or earlier:

netsh diag connect ieproxy

Some additional work is required to extract the proxy address from the output, so the registry approach is simpler if you know it's going to be available.

Update:

I've found that on windows 7 netsh sometimes returns different results depending on how I call it. If I run the above command manually in a prompt, I get 'Direct Access - No Proxy'. However, calling netsh from SAS results in an actual proxy being listed!

user3490
  • 582
  • 5
  • 14
  • 6
    sais: Direct access . but i definetly am behind a proxy .. only shows WinHTTP Proxys – philx_x Mar 20 '15 at 13:11
  • The question is tagged [windows] - are you in a windows environment with a non-WinHTTP proxy? – user3490 Mar 20 '15 at 13:35
  • This is weird - depending on how I call netsh I seem to get any of 3 different answers, all on the same machine... – user3490 Mar 20 '15 at 13:51
  • y sorry i forgot to mention. i am indeed on a windows machine. – philx_x Mar 20 '15 at 14:07
  • 6
    I'm seeing the "Direct Access" line also. What did you mean by "calling netsh rom SAS"? – Ben Jun 15 '15 at 17:36
  • 3
    `netsh winhttp show proxy` shows system proxy settings (Default user). A user may have different settings. – xmedeko Dec 08 '15 at 09:19
  • 8
    I'm definitely behind a proxy and when I call `netsh` command I get: "Direct access (no proxy server).". What is SAS? – iaforek Oct 18 '16 at 21:37
  • 1
    "I think this only applies to application that uses the WinHTTP library. After a quick test, it doesn't seem like any common application on my system uses that." - https://superuser.com/questions/419696/in-windows-7-how-to-change-proxy-settings-from-command-line/419797#comment550414_419797 – Andrew Aug 07 '17 at 18:49
  • 3
    What do you mean by "SAS"? – Drew Chapin Sep 07 '18 at 18:51
  • This is the only solution that worked for me as of this date – Deleted Apr 30 '19 at 04:54
  • What is "SAS" ? – StayOnTarget Jul 17 '19 at 16:57
  • > SAS (previously "Statistical Analysis System")[1] is a statistical software suite developed by SAS Institute... per https://en.wikipedia.org/wiki/SAS_(software) Basically a different application than cmd.exe... therefore can have different proxy configuration than seen in cmd.exe. That's all I know about SAS so I hope that helps :-). – Zephan Schroeder Nov 01 '19 at 20:08
20

You can also get the automatic configuration file URL from the registry by running:

reg query "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Wpad" /s | find /i "WpadDetectedURL"
mxfh
  • 311
  • 2
  • 4
13

If you are using an auto-detect proxy settings then do in the address bar of you browser (no matter which one you have installed)

http://wpad/wpad.dat

Then you will get a javascript file describing which proxy server is used according to what are you trying to visit on the network...

  • Although the url didn't work, +1 for linking to the Microsoft documentation – GoGoris Jul 10 '17 at 11:00
  • This is the simplest solution and worked nicely for me. The proxy server is contained in the line which says something similar to `return "PROXY myproxy.com:8080"`. – Tobias Jul 14 '23 at 09:21
10

use the below website to get your proxy : http://www.whatismyproxy.com/

Guru
  • 209
  • 2
  • 4
  • 2
    This solution identified for me that my seemingly direct access to the web was actually being routed through a McAfee web gateway – Breandán Dalton Mar 23 '17 at 12:52
  • This is a nice web page but it **does not reveal the proxy port**, so it is not useful (at least for me). – Tobias Jul 14 '23 at 09:24
4

I have created a simple WinProxyViewer.exe to show Windows proxy settings. It's purpose is that a common user is able to run it and send the output to the admin (tech. support, etc.).

xmedeko
  • 141
  • 3
4

Related to Nimble Fungus's Answer, as Nimble's answer no longer work in recent versions of Chrome. The following works in the Google Chrome Version 83.0.4103.116 (Official Build) (64-bit) (Released 2020-05-19)

Go on Google Chrome, go to this link chrome://net-export/ in the browser.

Click on 'Start Logging to Disk', choose a place to store the log file. Now on a new tab, go to a random website (I went to google.com in my case). Then go back to the chrome://net-export/ tab, and click 'Stop Logging'. Click 'Show File'.

Open up that file, search for the key word "proxy_server", that variable will tell you the proxy server plus port number that you are using to connect to the internet.

2

To learn lots and lots about your current internet connection and set-up, including the proxy server you are using at the moment, go to the following address in Chrome:

chrome://net-internals/

You'll see a column on the left-hand side of the page which gives you a list of different types of information you can request, among them "proxy."

NOTE: it's perfectly possible to add the "chrome:" URI scheme to windows, so that you can get this information by going to "chrome://net-internals/" from ANY browser, not just chrome. But since the handler for this URI scheme needs to be chrome, you need to have chrome installed in any case. Adding the URI scheme "chrome" to your registry is therefore only really useful if you use a different browser and want to avoid the clicks/typing required to first bring up chrome (and thence to go to chrome://net-internals/)

Scott Petrack
  • 329
  • 3
  • 2
2

Not a perfect solution but worked for me when needed quick lookup in corporate network. NetStat in cmd lists current connections. IP with port 8080 or 9090 is most likely the proxy.

JoyT
  • 21
  • 1
0

Put the script path into an ie window and it will either download or open the wpad script - if it downloads it, use notepad to view as it is text based.

WPAD is a logic driven file to sent internet requests to different proxies or direct to the internet depending on a number of factors such as source, destination, IP or url (even parts of the dns name). In some cases it could be quite hard to read depending on how complex the file is - I've seen some beauties, but it is fairly intuitive.

Chris
  • 1
0

Just to clear up some confusion about proxies in windows that i had when reading all kind of blogs and answers on stack overflow:

Welcor
  • 109
  • 2
  • As it’s currently written, your answer is unclear. Please [edit] to add additional details that will help others understand how this addresses the question asked. You can find more information on how to write good answers [in the help center](/help/how-to-answer). – Community Jun 24 '23 at 12:24
  • yeah, you have to read the other answers and comments here to understand my answer. if you do that and still dont find a solution, my answer can be helpful. – Welcor Jun 24 '23 at 15:54
0

Non of the above hints worked for me (working in a big company using Windows 7 Enterprise, "completely closed" for endusers).

I finally found this little Java program, which worked fine for me: https://stackoverflow.com/questions/4933677/detecting-windows-ie-proxy-setting-using-java

Peti
  • 101
  • 3