CHttpConnection Win7下面报错

aofengdaxia 2012-08-27 10:07:44
先上代码
CString CHttpClient::HttpGet(CString ServerUrl)
{

ASSERT(ServerUrl != "");
CString returnHTML;

CInternetSession session;
CHttpConnection* pHttpConnection = NULL;
CString strServer, strObject;
INTERNET_PORT wPort;
DWORD dwType;
const int nTimeOut = 50000;

session.SetOption(INTERNET_OPTION_CONNECT_TIMEOUT, 1000 * 20);
session.SetOption(INTERNET_OPTION_CONNECT_BACKOFF, 1000);
session.SetOption(INTERNET_OPTION_CONNECT_RETRIES, 1);


AfxParseURL(ServerUrl, dwType, strServer, strObject, wPort);


pHttpConnection = session.GetHttpConnection(_T(strServer),(INTERNET_PORT)wPort);
CHttpFile *myFile = pHttpConnection->OpenRequest(CHttpConnection::HTTP_VERB_GET,_T(strObject));
myFile->SendRequest();
DWORD dwRet;
myFile->QueryInfoStatusCode(dwRet);


CString temp;

while(myFile->ReadString(temp)){
returnHTML += temp;
}
return returnHTML;


}


这段代码在WinXP下面使用正常,但是在Win7下面,只能使用类似http://123.12.12.0:81/a.aspx这样的形式,不能使用域名,只能使用IP,异常提示:无法解析服务的名称或地址
...全文
177 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
aofengdaxia 2012-08-27
  • 打赏
  • 举报
回复
myFile->SendRequest();
直接抛出异常
oyljerry 2012-08-27
  • 打赏
  • 举报
回复
代码中设置断点,单步跟踪一下,看哪几步有问题
汪宁宇 2012-08-27
  • 打赏
  • 举报
回复
[Quote=引用楼主 的回复:]
先上代码
C/C++ code
CString CHttpClient::HttpGet(CString ServerUrl)
{

ASSERT(ServerUrl != "");
CString returnHTML;

CInternetSession session;
CHttpConnection* pHttpConnection = NUL……
[/Quote]

myFile->QueryInfoStatusCode(dwRet);
后面要加个判断,确定为200再读数据

aofengdaxia 2012-08-27
  • 打赏
  • 举报
回复
通过ping命令可以获得正确的IP
aofengdaxia 2012-08-27
  • 打赏
  • 举报
回复
浏览器工作正常,只要是通过路由器的win7都有问题,很是域名,通过socket gethostname也无法获得
Gloveing 2012-08-27
  • 打赏
  • 举报
回复
那是win7机器的DNS出了问题呢
dickbarry 2012-08-27
  • 打赏
  • 举报
回复
浏览器可以正常工作?确定不是机器的问题?
aofengdaxia 2012-08-27
  • 打赏
  • 举报
回复
找到原因了:在系统中使用了一个IPHelper去获得系统的MAC地址。可能造成冲突了,直接iphlpapi.dll删除掉,问题解决,害我尝试各种办法做了一天,谢谢各位
傻X 2012-08-27
  • 打赏
  • 举报
回复
1.先断点崩溃点。
2.查询MSDN有没有对该函数操作系统的限制。

WinXP能运行成功,说明肯定局部参数设置更新问题。上一组代码也没用
oyljerry 2012-08-27
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 的回复:]
myFile->SendRequest();
直接抛出异常
[/Quote]
try catch捕获异常,查看提示信息

18,356

社区成员

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

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