Repository navigation
FAQ
Many applications, including command-line tools and programming languages such as curl or Python, can use the http_proxy and https_proxy environment variables to route their network traffic through a proxy server.
http_proxy is used for HTTP traffic, i.e. for URLs starting with http://,
while https_proxy is used for HTTPS traffic, i.e. for URLs starting with https://.
The environment variables can be set for the entire system, for a specific user, or for a single process.
It is not recommended to set the environment variables for the entire system, as this setting can affect all users and applications on the system.
Instead, it is recommended to set the environment variables for a specific user account or for a single process.
By default, WinPX will automatically set the http_proxy and https_proxy environment variables for the current user account when it starts.
If you have many applications that do not require a local proxy server but can work with the enterprise proxy server directly, you can disable this option in the WinPX Options dialog. If you are working in a command-prompt window, and you want to set the environment variables only for the command-prompt (and all its child processes), you can run the following commands before you run your application:
set http_proxy=http://127.0.0.1:3128
set https_proxy=http://127.0.0.1:3128To view the proxy settings that are configured for your user account, run the following command in a Windows Command Prompt window:
netsh winhttp show advproxyFor instance, if WPAD is configured, you might get the following output:
Current WinHTTP advanced proxy settings:
{
"ProxyIsEnabled": false,
"AutoConfigIsEnabled": false,
"AutoDetect": true,
"PerUserProxySettings": true
}
If a PAC file is configured, you might get the following output:
Current WinHTTP advanced proxy settings:
{
"ProxyIsEnabled": false,
"AutoConfigIsEnabled": true,
"AutoconfigUrl": "http://proxy.contoso.com/proxy.pac",
"AutoDetect": false,
"PerUserProxySettings": true
}
If a manual proxy is configured, you might get the following output:
Current WinHTTP advanced proxy settings:
{
"ProxyIsEnabled": true,
"Proxy": "proxy.contoso.com:8080",
"ProxyBypass": "<local>",
"AutoConfigIsEnabled": false,
"AutoDetect": false,
"PerUserProxySettings": true
}
Web Proxy Auto-Discovery (WPAD) is a network protocol that allows web browsers and operating systems to automatically locate and download a Proxy Auto-Config (PAC) file without any manual configuration.
WPAD uses the Dynamic Host Configuration Protocol (DHCP) and/or Domain Name System (DNS) to locate the PAC file on the network. When a client device connects to a network, it can use WPAD to automatically discover the PAC file and configure its proxy settings accordingly.
Proxy Auto-Config (PAC) is a configuration file containing instructions that tell a web browser or application how to route traffic. Instead of manually typing a single, fixed proxy IP address and port into every machine, a PAC file uses a simple JavaScript function to dynamically decide whether a request should go through a proxy, bypass it, or connect directly to the internet.
For instance, for a given URL, a PAC file may return the following results:
- http://proxy-1.contoso.com
- http://proxy-2.contoso.com
- DIRECT (no proxy)
PAC files are often used in corporate networks to provide load balancing. For instance, for Intranet servers you may choose a DIRECT connection to avoid unnecessary load on the proxy servers.
My company uses Proxy Auto-Config (PAC). Why can't I connect to the enterprise proxy server directly?
If your company uses a PAC file, it is likely that the PAC file contains logic to select different proxy servers based on the requested URL. Also, some Intranet servers may not be reachable through the enterprise proxy server at all, and the PAC file may contain logic to use a DIRECT connection for those servers.
In other words, it is not recommended to bypass the PAC file, as you may not be able to reach all servers in your network. If you want WinPX to work all the time, it is recommended to use the Windows proxy configuration.
When you connect to your company's proxy server, you typically need to authenticate yourself for every network connection your applications create.
Negotiate authentication (SPNEGO) is a protocol wrapper that allows a client and a server to automatically determine the most secure authentication protocol they both support.
Typically, the most secure authentication protocol is Kerberos, which is the recommended option for most users.
Older authentication methods such as NTLM, Digest, or Basic are insecure and should be avoided.
You should use 127.0.0.1 instead of localhost. While both refer to the loopback interface, localhost requires a DNS lookup.
Using 127.0.0.1 ensures a direct connection to the loopback interface without relying on DNS.
One less thing to worry about when debugging network issues.
You should always use the HTTP protocol to point to the WinPX proxy, even if you send a HTTPS request to the destination server. The WinPX proxy server will handle both HTTP and HTTPS traffic correctly over the same port.
WinPX does not support the HTTPS protocol for the proxy URL. If you use https://127.0.0.1:3128 to refer to the WinPX proxy, your application will not work correctly.
To make a HTTPS request via the WinPX proxy is not a security issue, because the actual HTTPS traffic is still encrypted end-to-end between your application and the destination server. The WinPX proxy only provides a tunnel and forwards the encrypted traffic without decrypting it.
Yes. If you require an IPv6 connection, you can use the IPv6 loopback address ::1 instead of 127.0.0.1.
WinPX will automatically detect whether your application is using IPv4 or IPv6 and will respond accordingly.
To use IPv6, use the WinPX proxy URL http://[::1]:3128 instead of http://127.0.0.1:3128.