关于网友提出的“ http get方法返回400 Bad Request原因?”问题疑问,本网通过在网上对“ http get方法返回400 Bad Request原因?”有关的相关答案进行了整理,供用户进行参考,详细问题解答如下:
问题: http get方法返回400 Bad Request原因?
描述:本帖最后由 VisualEleven 于 2011-07-07 21:20:08 编辑
直接在ie上输http://192.168.106.154:8081/cgi-bin/channels.cgi?action=get能出来我要的界面,
在vc程序中向socket连接发送"GET http://192.168.106.154:8081/cgi-bin/channels.cgi HTTP/1.0\r\nAccept:text/html\r\n\r\n"却返回下面的:
HTTP/1.0 400 Bad Request
Server: mini_httpd..Cache-Control: no-cache,no-store
Content-Type: text/html; charset=%s
Connection:close
.
400 Bad Request..
400 Bad Request
.Bad filename
这是什么原因?
解决方案1:
Authorization:basic YWRtaW46YWRtaW4=不是固定的
解决方案2: 还有就是去掉&authorization:basic YWRtaW46YWRtaW4=
解决方案3: GET /cgi-bin/channels.cgi?action=get HTTP/1.0\r\nAccept:text/html\r\nHost: 192.168.106.154:8081\r\n\r\n
解决方案4: 奇怪...http头没有content-length
解决方案5: 你用抓包工具看下具体浏览器发送的请求是怎么样的,然后用你的程序SOcket进行模拟发送
解决方案6: 这也得看服务器了。
解决方案7:
用个抓包工具分别抓包,就是用IE访问和你自己的程序访问做个对比就清楚你的程序中缺少什么信息了。抓包工具很多啊,Google一下,我自己常用的是smsniff.exe工具,使用比较简单
解决方案8: 请求数据格式不对吧。
你用抓包工具抓个包,看看需要发送哪些数据,然后模拟发送就可以了
以上介绍了“ http get方法返回400 Bad Request原因?”的问题解答,希望对有需要的网友有所帮助。
本文网址链接:http://www.codes51.com/itwd/2980333.html