现在,我提出一个奇怪的问题。我用 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.cn
hosts,
案例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
连接服务器速度很快。