0

现在,我提出一个奇怪的问题。我用 httpclient 发送 http 请求。在请求中,当我使用域名时,如dynamic.12306.cn,或者我使用ip地址并将ip信息放在windows/system32/driver/ext/hosts122.227.2.27 dynamic.12306.cn中,请求很快返回。但是,如果我只使用 ip 并且不将任何信息放入主机,它会非常慢。

以上两个,我将在下面显示示例:

案例一、速度快。请求 url 是https://dynamic.12306.cn/otsweb/main.jsp 或者请求 url 是https://122.227.2.27/otsweb/main.jsp并放入122.227.2.27 dynamic.12306.cnhosts,

案例2.速度慢。请求网址是https://122.227.2.27/otsweb/main.jsp不要将任何信息放入主机中。

我打开httpclient的debug模式,发现使用case 2的方法,连接服务器很慢。

日志:

2013/03/17 10:19:10:665 CST [DEBUG] BasicClientConnectionManager - 获取路由 {s}-> 的连接https://122.227.2.27

2013/03/17 10:19:11:234 CST [调试] DefaultClientConnectionOperator - 连接到122.227.2.27:443

2013/03/17 10:19:20:796 CST [调试] RequestAddCookies - CookieSpec 选择:最佳匹配

连接服务器将花费几秒钟。

但是如果我使用案例1的方法。日志:

2013/03/17 10:30:13:876 CST [DEBUG] BasicClientConnectionManager - 获取路由 {s} 的连接 -> https://dynamic.12306.cn

2013/03/17 10:30:14:403 CST [调试] DefaultClientConnectionOperator - 连接到 dynamic.12306.cn:443

2013/03/17 10:30:14:499 CST [DEBUG] RequestAddCookies - CookieSpec selected: best-match

连接服务器速度很快。

4

1 回答 1

0

当您发出请求时,请尝试收听 DNS 查询。我遇到了同样的问题,原来托管网站在 ip 之后附加了一个主机名。

于 2013-11-12T00:24:07.267 回答