【问题标题】:Why is curl trying to connect to localhost instead of going out to the internet?为什么 curl 尝试连接到 localhost 而不是上网?
【发布时间】:2018-05-26 19:22:35
【问题描述】:

我已连接到互联网:

user5@system5:~$ ifconfig
enp4s0    Link encap:Ethernet  HWaddr 40:16:7e:82:55:5b  
      UP BROADCAST MULTICAST  MTU:1500  Metric:1
      RX packets:0 errors:0 dropped:0 overruns:0 frame:0
      TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
      collisions:0 txqueuelen:1000 
      RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)
      Interrupt:19 

lo        Link encap:Local Loopback  
      inet addr:127.0.0.1  Mask:255.0.0.0
      inet6 addr: ::1/128 Scope:Host
      UP LOOPBACK RUNNING  MTU:65536  Metric:1
      RX packets:5316 errors:0 dropped:0 overruns:0 frame:0
      TX packets:5316 errors:0 dropped:0 overruns:0 carrier:0
      collisions:0 txqueuelen:1 
      RX bytes:617751 (617.7 KB)  TX bytes:617751 (617.7 KB)

wlp3s0    Link encap:Ethernet  HWaddr 9c:d2:1e:61:c0:f3  
      inet addr:10.64.117.148  Bcast:10.255.255.255  Mask:255.0.0.0
      inet6 addr: fe80::c5b3:e44b:49ec:f18/64 Scope:Link
      UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
      RX packets:26669 errors:0 dropped:0 overruns:0 frame:0
      TX packets:29074 errors:0 dropped:0 overruns:0 carrier:0
      collisions:0 txqueuelen:1000 
      RX bytes:16174458 (16.1 MB)  TX bytes:8474175 (8.4 MB)

但是当运行 curl 命令时,它说无法连接到 127.0.0.0。

user5@system5:~$ curl -L https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add -
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0curl: (7) Failed to connect to 127.0.0.1 port 8888: Connection refused
gpg: no valid OpenPGP data found.

为什么要尝试使用 localhost?我发誓我过去使用过curl 没有问题。

编辑:

/etc/hosts 中的主机文件:

127.0.0.1 localhost 
127.0.1.1 system5.

/etc/network/interfaces 中的 DNS 设置:

# interfaces(5) file used by ifup(8) and ifdown(8)
auto lo
iface lo inet loopback

编辑 2:

env 命令的输出显示

http_proxy: 127.0.0.1

前几天我确实安装了Fiddler。我为 Firefox 设置了代理,但不知道它也影响了我的系统代理设置。

为了解决 curl 问题,我使用了 gnome GUI:系统设置/网络/网络代理/无/应用系统范围。必须重新启动计算机才能使更改生效。

【问题讨论】:

  • 检查您的 DNS 设置和主机文件。
  • @BartFriederichs,将这些文件的输出添加到原始帖子中。我不太清楚在对它们进行故障排除时我在寻找什么。您能否提供更多见解?

标签: curl fiddler


【解决方案1】:

您的 curl 似乎正在尝试连接到代理服务器,而不是直接连接到互联网。

通过命令env检查你的环境,看看是否有http_proxy。

此外,请检查您是否有一些调试工具,例如 Fiddler 或 TCPDump 或 Charles 代理或 Jmeter 设置,因为它们可能会创建代理服务器。

您还可以使用 -v 运行 curl 以获取更多信息: curl -v -L https://packages.microsoft.com/keys/microsoft.asc

【讨论】:

  • 谢谢。 Fiddler 可能是罪魁祸首。我编辑了原始帖子以向其他人展示调试过程。
猜你喜欢
  • 2019-06-13
  • 1970-01-01
  • 2017-07-12
  • 2018-09-19
  • 2022-11-10
  • 1970-01-01
  • 2018-07-10
  • 2016-09-22
  • 1970-01-01
相关资源
最近更新 更多