首页 > 代码库 > telnet建立http连接获取网页HTML内容

telnet建立http连接获取网页HTML内容

利用telnet可以与服务器建立http连接,获取网页,实现浏览器的功能。 
它对于需要对http header进行观察和测试到时候非常方便。因为浏览器看不到http header。 
步骤如下: 
telnet www.csua.berkeley.edu 80 
输入GET /officers.html HTTP/1.0 并2次回车。 
这时就应该可以看到http response了,包括了header和body。 
因为window自己带到telnet在输入内容的时候看不到输入的内容,可以下载putty并选用raw tcp connection的方式进行连接。 

需要注意到事情如下: 
1. GET 和 HTTP必须大写,因为很多服务器要求大写,小写的话在一些服务器会造成连接失败。 

2. HTTP1.1的话,还需要加上一行写明host, 这是http1.1的要求。 
GET /officers.html HTTP/1.1 
host: www.csua.berkeley.ed 

此处加host的另一个原因是因为很多网站是采用虚拟主机的形式,host用来区别于同一主机的其他虚拟主机所必须的。 

3. 2次回车表示把request发出去,因为http request是以最后一行为空行来表示结束的。 

4. 一些比较聪明的网站会屏蔽掉不是浏览器的http request, 这时我们就需要假扮浏览器,需要set的User-agent。 
GET /officers.html HTTP/1.1 
host: www.csua.berkeley.ed 
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.0.5) Gecko/2008120122 Firefox/3.0.5 

5. 抓取http连接的package可以使用Wireshark,获取浏览器的http request和response,再用telnet模拟浏览器进行连接。 

telnet建立http连接获取网页HTML内容