user1329339
user1329339

Reputation: 1335

Postman can't reach localhost

I am in a corporate env so I have to use a proxy to reach servers. This works well in postman and in browsers. What I can't reach is localhost in postman but I can reach localhost in the browser.

I am running Postman for Linux Version 6.0.9. I have tried reaching localhost:9082/rest/myapi.... and 127.0.0.1:9082/rest/myapi with both global proxy and system proxy turned on and with either turned on and with non turned on. In all cases I am not able to reach localhost.

What I get as an response is an error page from the proxy server! Someway the call gets out on the network instead of being kept on my machine.

The postman console:

My request headers are:

Cache-Control →no-cache
Connection →Keep-Alive
Content-Length →986
Content-Type →text/html; charset=utf-8
Pragma →no-cache
Proxy-Connection →Keep-Alive

My response headers are:

cache-control:"no-cache"
pragma:"no-cache"
content-type:"text/html; charset=utf-8"
proxy-connection:"Keep-Alive"
connection:"Keep-Alive"
content-length:"986"

My response body is an html page.

How can I make a call to localhost work with postman?

Upvotes: 69

Views: 235200

Answers (24)

Select Browser Agent. Or you can find Desktop Agent option at the bottom, click on it, and select Browser Agent.

enter image description here

enter image description here

Upvotes: 0

Greg Gum
Greg Gum

Reputation: 37989

This can also happen if you call a non-existent route. For example, you try to get /api/nonexistant but it's actually /api/righthere

Slaps Head

Upvotes: 0

sher
sher

Reputation: 15

I had the same problem that couldn't get response from localhost. I downloaded postman to my computer desktop version then I could get back response.

Upvotes: 0

EdoElric
EdoElric

Reputation: 1

This worked for me, I disable the parameter host in the header.

HOST Disabled

Upvotes: 0

Tonmoy
Tonmoy

Reputation: 2038

I was having similar issue with HTTP calls to local ASP.NET Core Web API apps. Changing the proxy settings didn't fix it for me.

Finally fixed it by turning off File > Settings > General > SSL Certificate Verification

Upvotes: 164

Shir Gans
Shir Gans

Reputation: 2027

If anyone is looking for a solution to WooCommerce local install, here are the steps to make this work:

  1. Go to Wordpress Admin > WooCommerce > Settings > Advanced
  2. Create new API key, give it a name
  3. Copy the Consumer Key & Consumer Secret to your text editor
  4. Open Postman
  5. Create new connection Set the URL for testing (GET) : http://mylocalsite/wp-json/wc/v3/orders (change "mylocalsite" to yours)
  6. Click on Authorization tab
  7. Now here is the main change: Although in WC Rest docs, it says to use the "Basic Auth" - IT WILL NOT WORK. Since usually your localhost is HTTP and not HTTPS. So "Basic Auth" is not relevant in our case.
  8. You will need to change the Authorization to OAuth 1.0
  9. Set Consumer Key & Consumer Secret respectively as it shows in Woocommerce
  10. Click "Send" - it should work now

If still you have problems, try one by one the following:

  1. File > Settings > Turn off SSL Verification
  2. File > Settings > Turn off "Automatically follow redirects"

enter image description here

Upvotes: 0

Shaikh Nazish
Shaikh Nazish

Reputation: 179

I also faced the same issue, but the trick was I implemented both the methods that were stated earlier in the stack. First I turned off the postman proxy as shown in below image.

Click Settings -> Proxy

enter image description here

And then turned off the SSL certificate verification check button.

Click Settings -> General

enter image description here

And then tried to hit my local server and finally it worked.

Upvotes: 4

raddevus
raddevus

Reputation: 9077

While attempting to Get https://localhost:5001/WeatherForecast via PostMan while developing a basic .NET Core (3.1) Web API (on Ubuntu Linux) I got the error:

Could not get any response There was an error connecting to https://localhost:5001/WeatherForecast.

I didn't notice the actual solution in the things to try at first, but if you check the highlighted text in the image you will see it.

postman error

You can see that the option is turned on in PostMan by default:

PostMan Settings

I turned the SSL Certificate Verification off and tried again and it worked.

Upvotes: 3

Ali Bdeir
Ali Bdeir

Reputation: 4375

In my case, I had to precede the localhost with https://

Upvotes: 1

Zulukas
Zulukas

Reputation: 1280

Adding another potential answer to this for people to check after they've tried the other ideas here.

I was able to solve my own problem by checking the Postman console (View -> Show Postman Console) and then examining the error from the request (in my case it was because I had a newline character on an auth token).

Upvotes: 1

peter1
peter1

Reputation: 11

My problem was that i was setting an invalid Header token and it gave me the error

Error: Header name must be a valid HTTP token ["Accept "] Warning: This request did not get sent completely and might not have all the required system headers

Just check your Headers.

Upvotes: 1

Soji
Soji

Reputation: 1

i think i also found a perfect fix. First you turn on global proxy configurations, add your local machine Ip which is 127.0.0.1,then also add localhost in the bypass. Also turn off SSL verification. It worked for me

Upvotes: 0

Redar
Redar

Reputation: 83

If you have active proxy in your system then make sure Global Proxy Configuration and Use System Proxy are turned off. To do this go to Postman preferences > Proxy. You can also try sending a request in postman without typing localhost (e.g. :8080/send)

enter image description here

Upvotes: 0

Orby
Orby

Reputation: 418

Menuka Ishan's solution above saved my hours of pain! I left the Global Proxy Configuration switched ON and changed the Proxy Server to 127.0.0.1. Switched OFF the Use System Proxy. I already had the entry 127.0.0.1 localhost in my hosts file under the path C:\Windows\System32\drivers\etc.

Upvotes: 0

Salad.Guyo
Salad.Guyo

Reputation: 3415

My problem was forgetting to select Environment. From the drop down where you see No Environment in the image, select the name of your environment.enter image description here

Upvotes: 0

Aravindhan R
Aravindhan R

Reputation: 269

@Menuka Ishan Answer is correct. But in mac only if we change the turn off proxy won't work. You need to turn off the SSL Certificate verification also you need to disable.

Open Setting -> General -> SSL Certificate verification -> OFF

Upvotes: 12

Menuka Ishan
Menuka Ishan

Reputation: 5514

I solved this by Turning off System proxy of Postman.

Open File -> Settings -> Proxy

Postman

Then Turn off Use System Proxy

Upvotes: 21

theTypan
theTypan

Reputation: 5887

In my case, I was using django-tenants and had to add the domain for the tenant in etc/hosts to get it working on localhosts. My entry for 127.0.0.1 now looks like

127.0.0.1 localhost test.localhost

Upvotes: 0

ram dhakne
ram dhakne

Reputation: 1134

I was not able to make any calls from postman to docker container running Couchbase Server. Very frustrating. Turns out I had proxy setting configured to some aws instance which has been long deleted.

Goto setting and remove the proxy setting and it worked like a charm on localhost/127.0.0.1/mac laptop eno IP addr or 0.0.0.0

Upvotes: 0

Bernie Shishaye
Bernie Shishaye

Reputation: 51

These steps solved this issue after 1 whole day struggle: 1) HTTP_PROXY= proxy.company.com:port HTTPS_PROXY=proxy.company.com:port to user variables, not to System variables. Make sure the the case is all cap. 2) Updating newtwork driver, and turning on Windows Defender......Make sure you don't see no reds in here.

Upvotes: 0

snoba
snoba

Reputation: 173

The problem mentioned as an issue here. You should just write a simple batch file like this:

set HTTP_PROXY=
set http_proxy=
set HTTPS_PROXY=
set https_proxy=
START %LOCALAPPDATA%\Postman\Update.exe --processStart "Postman.exe"

open a simple text file, save this as a ".bat" file, and just run it!

Upvotes: 7

S Debasish Nayak
S Debasish Nayak

Reputation: 263

If you are under corporate proxy and you are deploying your webapplication in localhost then no need to set proxy configuration like

http://username:password@corporateProxyServer:ServerPort in postman (Global Proxy Configuration).

As the app is deployed in local machine just use the localhost configuration in setting -> Global Proxy Configuration as :

 proxy server : 127.0.0.1
 port : 8300 (this is the port where the web application is running )

Upvotes: 2

Peter Matisko
Peter Matisko

Reputation: 2253

I have the same issue. What works for me is:

Open File -> Settings -> Proxy

Then, enable proxy and put 127.0.0.1 : 80, if your web server runs on 80.

In the git thread, they say it is a known issue, so hopefully it will get resolved soon.

Upvotes: 47

user1329339
user1329339

Reputation: 1335

I found a temporary solution:

In terminal, go to the directory where postman is installed and add:

machine@dev:~/Documents/Postman$ export NO_PROXY=localhost,127.0.0.1
machine@dev:~/Documents/Postman$ ./Postman 

This will make calls to localhost work.

I found a similar problem on Windows machines here

Upvotes: 12

Related Questions