0

这些请求似乎被发送到了错误的主机(不完全确定它们被发送到哪个主机,因为该响应可以由 4 个不同的服务器发送)。

Chrome 返回正确的 JSON 响应:

Chrome 返回有效的 JSON

Paw 的NSURLConnection图书馆:

在此处输入图像描述

但默认Paw HTTP Library返回 404 Not Found :

在此处输入图像描述

4

1 回答 1

0

您实际上有 2 台本地服务器在端口 8000 上监听,一台仅监听 IPv6 连接(注意:这是 PHP 应用程序的默认设置),另一台监听 IPv4 连接。

当您连接到“localhost”时,您没有指定要使用的 IP 协议,并且听起来大多数客户端(包括 Paw 中的 Chrome、ASIHTTPRequest 和 NSURLConnection)都选择首先连接到 IPv6。而 Paw HTTP 库选择连接到 IPv4 (我们做出了这个选择,因为 IPv4 仍然被广泛使用,并希望尽可能避免错误)

因此,当您运行指定localhost:8000服务器(在您的情况下为 PHP)实际侦听的主 Web 应用程序时[::1]:8000(这是 IPv6 等价于127.0.0.1:8000),我猜您的其他服务器侦听实际的 IPv4 127.0.0.1:8000。Chrome 和其他库连接到[::1]:8000(IPv6) 并获取您的主 PHP 应用程序,而“Paw HTTP 库”连接到127.0.0.1:8000(IPv4) 连接到您的其他服务器,这将返回我们在视频中看到的 404。

您需要做的是指定实际 IP 而不是localhost. 用于http://[::1]:8000/plans连接到侦听 IPv6 的主应用程序。

于 2015-04-29T17:19:39.343 回答