[英]HTTP request using telnet not getting any response
我们使用telnet机制向服务器发送http请求并获取响应。 使用telnet发送HTTP GET请求时,我们注意到一件奇怪的事情。 第一种方法适用于大多数环境,但它不适用于其中一种环境。 但第二种方法(而不是相对路径,使用完整路径)在这种环境下工作正常。
**
**
(printf“GET /test.jsp HTTP / 1.0 \\ nAccept:* / * \\ nUser-Agent:WatchDog \\ n \\ n”; sleep 9)| telnet xx.xx.xx.xx 8093尝试xx.xxx.xx.xx ...已连接到xx.xx.xx.xx. 逃脱角色是'^]'。
外部主机关闭连接。
**
**
(printf“GET http://xx.xx.xx.xx:8093 / test.jsp HTTP / 1.0 \\ nAccept:* / * \\ nUser-Agent:WatchDog \\ n \\ n”; sleep 9)| telnet xx.xx.xx.xx 8093
Trying xx.xx.xx.xx...
Connected to xx.xx.xx.xx.
Escape character is '^]'.
HTTP/1.1 200 OK
Server: Apache-Coyote/1.1
Set-Cookie: JSESSIONID=91643475E80038EA8770CE6803EE320C; Path=/
Content-Type: text/html;charset=UTF-8
Content-Language: zh-US
Content-Length: 42
Date: Mon, 03 Dec 2012 04:25:09 GMT
Connection: close
The Server is Running
Connection closed by foreign host.
为什么method1不仅在一个环境中运行? 我们需要在那个环境中检查一些东西吗?
请给出你的建议......
谢谢,Sekhar
HTTP / 1.0(RFC 1945)指定结束为CR LF的行。 某些服务器可能严格应用此规则。 尝试使用\\ r \\ n作为行结尾发送请求。 发送绝对URI也保留供代理使用(RFC 1945的第5.1.2节)。
如果不同的行结尾和URI样式没有帮助,你将不得不查看服务器配置/实现,因为我看不出方法1有什么问题。
除了行结尾必须是\\ r \\ n和你的接受标题应该是*/*
而不是/
,你的第一个请求没有主机名。
HTTP 1.1服务器可以在绝对请求URI或主机头中拒绝没有主机集的HTTP请求。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.