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

  • 来源:
  • 更新日期:2018-05-07

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

利用telnet可以与服务器建立http连接,获取网页,实现浏览器的功能。
它对于需要对http header进行观察和测试到时候非常方便。因为浏览器看不到http header。

002UASMrzy7605pjKJv15&690.jpg
步骤如下:
telnet .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模拟浏览器进行连接。