怎么发送http头,没有返回呢,

wateryh 2014-05-14 12:00:48
get / HTTP/1.1
Host:www.baidu.com
Accept:text/html,*/*;
user-agent:Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; WOW64; Trident/6.0)
Connection:Keep-Alive

发送这个头,居然没有返回
recv长度为0,
我是通过socket连接 www.baidu.com,
然后发送这个字符串的, 有注意每行的\r\n,和结尾的\r\n\r\n,结束符
但是还是没返回啊,

哪位知道这个怎么回事呢
...全文
345 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
wateryh 2014-06-10
  • 打赏
  • 举报
回复
哎,找到问题了,get ,这个命令行,必须用大写,
nossiac 2014-05-21
  • 打赏
  • 举报
回复
首先应该仔细检查组包是否正确。 有些web server比较古怪,不合法的http请教直接丢弃了的,不会给你bad request。 最科学的办法是抓包,让抓包软件会自动解析你发的数据,如果它解析成功,至少说时你协议头没有错。。。 然后检查是否server有古板的行为,比如有些server一定要求客户端请教给content-length。
Eleven 2014-05-21
  • 打赏
  • 举报
回复
自己先抓个包,看看数据对不?返回状态码对不?
zgl7903 2014-05-14
  • 打赏
  • 举报
回复
MSDN上的例子 QueryInfoStatusCode

Download a Web Page
//this code excerpt also demonstrates how to use //try/catch exception handling
#include <afxinet.h>
//assumes server, port and URL names have been initialized
CInternetSession session("My Session");
CHttpConnection* pServer = NULL;
CHttpFile* pFile = NULL;
try
{
   CString strServerName;
   INTERNET_PORT nPort;

   pServer = session.GetHttpConnection(strServerName, nPort);
   pFile = pServer->OpenRequest(CHttpConnection::HTTP_VERB_GET, strObject);
   pFile->AddRequestHeaders(szHeaders);
   pFile->SendRequest();
   pFile->QueryInfoStatusCode(dwRet);

   if (dwRet == HTTP_STATUS_OK)
   {
       UINT nRead = pFile->Read(szBuff, 1023);
       while (nRead > 0)
       {
           //read file...
       }
   }
   delete pFile;
   delete pServer;
}
catch (CInternetException* pEx)
{
   //catch errors from WinInet
}
session.Close();

FTP a File

18,356

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 网络编程
c++c语言开发语言 技术论坛(原bbs)
社区管理员
  • 网络编程
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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