本文共 1153 字,大约阅读时间需要 3 分钟。
在《创建InetAdrress对象的四个静态方法》 一文中通过 getAllByName 得到了 对应的四个 IP 地址。从理论上说,在 IE (或其他的 Web 浏览器,如 Firefox) 的地址栏中输入这四个 IP 地址中的任何一个,都可能访 问 www.csdn.net 。如输入 http:// 211.100.26.124 。但 IE 却返回了一个错误信息。 在输入另外三个 IP 后,都会得到同样的错误信息。 这个错误并不是网页未找到错误(HTTP
状态号:404
),而是拒绝访问错误(HTTP
状态号:403
)。当在地址栏中再输入http://www.csdn.net
,仍然可以访问这个网站。从以上种种迹象表明这并不客户端的问题,而是服务端对此做了限制。 在HTTP
协议(这个协议会在下一章详细讲解)的请求头有一个Host
字段,一般通过http://www.csdn.net
访问服务器时,Host
的值就是www.csdn.net
。如果是http://
211.100.26.124 ,那么 Host 的值就是 211.100.26.124 。因此,我们可以推断, www.csdn.net 的服务器通过检测 Host 字段防止客户端直接使用 IP 进行访问。目前有很多网站,如 www.sina.com.cn 、 www.126.com 都是这样做的。有一些网站虽然未限制用 IP 地址来访问,但在使用 IP 地址访问网站时,却将 IP 地址又重定位到相应的域名上。如输入 http://141.146.8.66 会重定位到 http://www.oracle.com/index.html 上,输入 http://129.42.60.212 会重定位到 http://www.ibm.com/us/ 上。 通过 ping 命令也可以得到一个域名的 IP 地址,如果域名绑定有之个 IP 地址, DNS 就随机返回一个 IP 地址。如在控制台输入下面的命令: Reply from 211.100 . 26.122 : bytes = 32 time = 31ms TTL = 48 Reply from 211.100 . 26.122 : bytes = 32 time = 35ms TTL = 48 上面的返回结果中的IP
地址就是《创建InetAdrress对象的四个静态方法》一文中
MyInetAddress3 在测试1
中所得到的第三个IP
地址。
本文转自 androidguy 51CTO博客,原文链接:http://blog.51cto.com/androidguy/214817,如需转载请自行联系原作者