在telnet中找不到404,在浏览器中工作正常

Vir*_*hta 4 c python http telnet

我有一个非常恼人的问题,当我在浏览器中打开一个网址(http://celebs.widewallpapers.net/md/a/adriana-lima/1440/Adriana-Lima-1440x900-002.jpg)时,它工作正常..但是当我尝试通过telnet在bash上访问它时,我找不到404 !!

我的确切终端:

$ telnet celebs.widewallpapers.net 80

HEAD /md/a/adriana-lima/1440/Adriana-Lima-1440x900-002.jpg HTTP/1.0 [enter] [enter]

找不到HTTP/1.1 404

服务器:nginx

日期:2010年5月23日星期日21:36:05 GMT

内容类型:text/html; 字符集=窗户-1251

内容长度:166连接:关闭

请帮我这个,因为我试图制作一个C批量下载器,它几乎和telnet一样工作.

Jak*_*org 10

您没有传递主机标头.根据HTTP/1.1,您需要告诉Web服务器您希望与哪个虚拟主机通信.即使您在请求中指定HTTP/1.0,今天99%的服务器也只会与HTTP/1.1通信.

jb@apto % telnet celebs.widewallpapers.net 80
...
HEAD /md/a/adriana-lima/1440/Adriana-Lima-1440x900-002.jpg HTTP/1.1
Host: celebs.widewallpapers.net

HTTP/1.1 200 OK
Server: nginx
Date: Sun, 23 May 2010 22:08:36 GMT
Content-Type: image/jpeg
Connection: close
Last-Modified: Sun, 27 Apr 2008 14:30:17 GMT
ETag: "4784e0-264b0-48148df9"
Accept-Ranges: bytes
Content-Length: 156848

Connection closed by foreign host.
Run Code Online (Sandbox Code Playgroud)