- 论坛徽章:
- 0
|
我用 socket 连接服务器, 以 post 方式发送一个 http 协议过去.- request: POST xx/xx HTTP/1.1
- HOST: xxx.xxx.xxx.xxx
- User-Agent: LogService Http 1.1
- Cache-Control: no-cache
- Content-Type: text/xml;charset=UTF-8
- Connection: Keep-Alive
- Accept: */*
- Content-Length: 181
- <?xml version='1.0' encoding='utf-8'?><request method='xxx'><parameters><data>aaa</data></request>
复制代码 然后, recv 的时候, 接收到了正确的数据, 但是在接收的数据包后面, 还携带了一个 400 的错误. 接收输入如下.- HTTP/1.1 202 Accepted
- Server: nginx/0.8.54
- Date: Fri, 02 Nov 2012 11:01:49 GMT
- Content-Type: text/xml;charset=UTF-8
- Content-Length: 179
- <?xml version="1.0" encoding="UTF-8" standalone="no"?><response method="xxx"><data>bbbb</data></response><html>
- <head><title>400 Bad Request</title></head>
- <body bgcolor="white">
- <center><h1>400 Bad Request</h1></center>
- <hr><center>nginx/0.8.54</center>
- </body>
- </html>
复制代码 请问下是为什么呢? 是我构造的 http 协议头不正确? 还是其他原因.?
我这里想建立一个长连接. 如果用 http/1.0 不会有这样的问题. 因为 http/1.0 默认建立的是短连接.
我用 QT 的 QNetworkAccessManager 以 post 方式发送数据到服务器, 返回是正常的. 并且返回时 connection 是 keep-alive 的. |
|