|
|
|
|
|
Telnet HTTP獲取網(wǎng)頁(yè)源碼失敗的原因,根據(jù)本人經(jīng)驗(yàn),本文將列舉最有可能的三個(gè)進(jìn)行分析。
GET 和 HTTP 必須大寫,因?yàn)楹芏喾?wù)器要求大寫,小寫的話在一些服務(wù)器會(huì)造成連接失敗。
HTTP1.1的話,還需要加上一行寫明host, 這是http1.1的要求。
GET / HTTP/1.1
host: howtostagehomes.com
此處加host的另一個(gè)原因是因?yàn)楹芏嗑W(wǎng)站是采用虛擬主機(jī)的形式,host用來(lái)區(qū)別于同一主機(jī)的其他虛擬主機(jī)所必須的。
一些網(wǎng)站會(huì)屏蔽掉不是瀏覽器的http request, 這時(shí)我們就需要假扮瀏覽器,需要set的User-agent。
GET / HTTP/1.1
host: howtostagehomes.com
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.0.5) Gecko/2008120122 Firefox/3.0.5
利用telnet可以與服務(wù)器建立http連接,獲取網(wǎng)頁(yè),實(shí)現(xiàn)瀏覽器的功能。
它對(duì)于需要對(duì)http header進(jìn)行觀察和測(cè)試到時(shí)候非常方便,因?yàn)闉g覽器看不到http header。 但是用telnet就可以看到http header,參考前文《Telnet命令獲取網(wǎng)頁(yè)header信息》。
除了上述提到的三個(gè)原因,我們?cè)谑褂肨elnet HTTP獲取網(wǎng)頁(yè)源碼時(shí),也可能遇到返回“400 Bad Request”的錯(cuò)誤提示,解決辦法參考前文《Telnet HTTP獲取網(wǎng)頁(yè)源代碼出錯(cuò):400 bad request》。