Curl returns “Connection Refused” when trying to access XAMPP via localhost

apache-http-servercurlMySQLPHP

I am running XAMPP (Apache, MySQL and PHP) on my Windows Vista computer. I have curl installed on my machine. When I try to curl my localhost in the command prompt, I get the following:

curl -v -i localhost
* timeout on name lookup is not supported
* About to connect() to localhost port 80 (#0)
*   Trying 127.0.0.1...
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                             Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:--  0:02:00 --:--:--     0
* Connection refused
* couldn't connect to host
* Closing connection #0
curl: (7) couldn't connect to host

However, if I curl a live site, such as Google, it fetches appropriately. This issue only appears when using the command line. I am able to curl localhost from my local server via PHP script without any issue.

Is this a result of some sort of Apache config? Or is there some sort of network or Internet settings that need to be configured/adjusted in Windows to get it to work right?

Best Answer

I tried out a couple of different config options, tweaked my firewall and setting a proxy, with no real effect. I set it back to the defaults and decided to restart my comp (had Windows updates pending). When the computer restarted, I tried again and was able to connect via curl. While I can’t really tell what was hanging up in particular, a fresh restart cured the problem. I.T. helpdesk 101, right?

For anyone with trouble in the future, while I was using the verbose option (-v) on curl, I found that for the most information about the connection attempts, it’s best to use --trace, or even trace in conjunction with -v.

Related Question