连续多次POST不成功的原因?

billcawell 2009-06-18 05:10:00
服务器端使用的是Apache 2.2和cgicc写的请求处理程序,我写了个C的程序,与服务器建立TCP连接,然后连续发出十几条POST请求,结果是只有第一条POST被处理了,返回了正确的消息。其它后面的POST都无效。

我使用抓包工具(wireshark)发现那十几条请求确实都已经发出,除了第一条的状态是responsed,其他的状态都是requested(即已递交但没有被服务器处理)。请求头部和后面的数据也都可以正常看到。

第一条请求被正确处理,说明POST的格式应该没问题,http是1.1,keepalive也写上了。服务器那边keepalive也加到了apache的配置文件中,cgi程序里cout << "Content-Type: text/plain\n\n";也写上了。

网上查询很多资料都是一次TCP连接,POST一次,难道Apache只支持一次POST请求吗?请问这个问题该怎么解决?
...全文
445 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
woneedjob 2009-06-19
  • 打赏
  • 举报
回复
UP
billcawell 2009-06-18
  • 打赏
  • 举报
回复
另外补充一下,apache的error.log里出现错误提示“[Wed Jun 17 22:44:40 2009] [error] [client 192.168.200.5] Invalid method in request ”

第一条POST成功的数据如下:
POST /cgi-bin/store HTTP/1.1
Host: 192.168.200.2:80
User-Agent: MSIE 6.0
Connection: Keep-Alive
Cache-Control: no-cache
Content-Type: application/x-www-form-urlencoded
Accept: */*
Accept-Language: zh-cn
Accept-Encoding: gzip,deflate
Content-Length: 101

ID=35394468788444&Date=20090520&Time=160301&Longitude=116.28&Latitude=39.54&Altitude=90.20&Celcius=18

apache的返回信息如下:
HTTP/1.1 200 OK
Date: Thu, 18 Jun 2009 09:16:41 GMT
Server: Apache/2.2.11 (Win32)
Keep-Alive: timeout=5, max=100
Connection: Keep-Alive
Transfer-Encoding: chunked
Content-Type: text/plain

2,204

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 CGI
社区管理员
  • CGI社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧