远程登录发送HTTP请求(闭合)(telnet send a http request [close

2019-09-17 06:52发布

我使用telnet发送一个HTTP请求,就像这样:

telnet> open 192.168.4.135 8087
Trying 192.168.4.135...
Connected to 192.168.4.135.
Escape character is '^]'.
POST /rpc/ HTTP/1.1
HOST:192.168.4.135:8087
Content-length:18
Content-type:application/x-http-form-urlencoded

action=loadrsctype
HTTP/1.1 200 OK
Date: Thu, 17 May 2012 03:52:53 GMT
Content-Length: 45
Content-Type: text/html; charset=ISO-8859-1

return=fail&error=Configuration doesn't existHTTP/1.1 400 Bad Request
Content-Type: text/html
Connection: close
Date: Thu, 17 May 2012 03:52:53 GMT
Content-Length: 94

<HTML><HEAD>
<TITLE>400 Bad Request</TITLE>
</HEAD><BODY>
<H1>Bad Request</H1>
</BODY></HTML>
Connection closed by foreign host.

响应代码是200,但为什么有这样的一段话:

HTTP/1.1 400 Bad Request
Content-Type: text/html
Connection: close
Date: Thu, 17 May 2012 03:52:53 GMT
Content-Length: 94

<HTML><HEAD>
<TITLE>400 Bad Request</TITLE>
</HEAD><BODY>
<H1>Bad Request</H1>
</BODY></HTML>

这是服务器或telnet本身的输出? 如何避免以显示这个?

--update--当我改变“HTTP / 1.1”,以“HTTP / 1.1”,我得到正确的反应。 现在我不知道wheather这是协议的要求,或与服务器的实现有关系吗?

Answer 1:

HTTP 1.1 ,所有的连接被认为是persistent ,除非另有声明。

然后...我认为服务器正在接收一些虚假的换行字符和一个答复Bad Request

如果使用http/1.1而不是HTTP/1.1可以使后备版本的版本1.0 ,默认情况下和后不是持久的200 OK则丢弃该连接响应。



Answer 2:

尝试更换&&amp;



Answer 3:

在您访问的网址的代码打印一些文字:

return=fail&error=Configuration doesn't exist

但是,那么你的代码继续打印HTTP 400错误。 也许你忘了打印响应后中止,所以你的代码那张打印的HTTP 400为好。



文章来源: telnet send a http request [closed]
标签: http post