求救一个关于windows上c++调用winhttp库中的问题

砍柴君 2013-10-23 04:22:52
本人第一次用winhttp实现一个客户端与服务器通信的程序,但是第一次使用winhttp,在网络上搜索到的一些代码调用的时候都不是很理想,在这里求下大神帮帮忙,我是实现一个从cul为http://192.168.1.90:8080/Client/Index?ip=180.168.1.80中获取网页的内容,其中的内容是一串字符串:{"name":"123456789123456789123456789"},调用的代码为:


这段代码中当

LPSTR pszData = "WinHttpWriteData Example";
DWORD dwBytesWritten = 0;
BOOL bResults = FALSE;
HINTERNET hSession = NULL,
hConnect = NULL,
hRequest = NULL;

// Use WinHttpOpen to obtain a session handle.
hSession = WinHttpOpen( L"A WinHTTP Example Program/1.0",
WINHTTP_ACCESS_TYPE_DEFAULT_PROXY,
WINHTTP_NO_PROXY_NAME,
WINHTTP_NO_PROXY_BYPASS, 0);

// Specify an HTTP server.
if (hSession)
hConnect = WinHttpConnect( hSession, L"http://192.168.1.90:8080/Client/Index?ip=180.168.1.80",
INTERNET_DEFAULT_HTTP_PORT, 0);

// Create an HTTP Request handle.
if (hConnect)
hRequest = WinHttpOpenRequest( hConnect, L"GET",
L"/writetst.txt",
NULL, WINHTTP_NO_REFERER,
WINHTTP_DEFAULT_ACCEPT_TYPES,
0);

// Send a Request.
if (hRequest)
bResults = WinHttpSendRequest( hRequest,
WINHTTP_NO_ADDITIONAL_HEADERS,
0, WINHTTP_NO_REQUEST_DATA, 0,
(DWORD)strlen(pszData), 0);
// End the request.
if (bResults)
bResults = WinHttpReceiveResponse( hRequest, NULL);

// Report any errors.
if (!bResults)
printf("Error %d has occurred.\n",GetLastError());


// Close any open handles.
if (hRequest) WinHttpCloseHandle(hRequest);
if (hConnect) WinHttpCloseHandle(hConnect);
if (hSession) WinHttpCloseHandle(hSession);

这是那段程序的代码 但是当调用WinHttpSendRequest的时候返回为0,所以WinHttpReceiveResponse这个函数就无法获取到内容,总之就是无法获取到这个cul上的内容 ,有哪位大神帮帮忙 纠结了好久了
...全文
300 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
springontime 2014-05-22
  • 打赏
  • 举报
回复
引用 4 楼 u011729265 的回复:
[quote=引用 2 楼 jyckder 的回复:] [quote=引用 1 楼 u011729265 的回复:] 可以到参考我的博客: http://blog.csdn.net/wujunokay/article/details/12834649。 希望能帮到你。
你的倒是有的用处 但是我还是像要知道如果用winhttp需要怎么实现我想要的,因为现在项目主要是用这个来写的[/quote] 可以先抓包分析一下,看看发的数据,与我的版本数据是不是一样。[/quote]你好请问你用什么工具抓的包,为什么我找的工具只能抓浏览器的包,抓不了自己写的程序的包(我的程序是基于winhttp写的,https)
砍柴君 2013-10-23
  • 打赏
  • 举报
回复
引用 4 楼 u011729265 的回复:
[quote=引用 2 楼 jyckder 的回复:] [quote=引用 1 楼 u011729265 的回复:] 可以到参考我的博客: http://blog.csdn.net/wujunokay/article/details/12834649。 希望能帮到你。
你的倒是有的用处 但是我还是像要知道如果用winhttp需要怎么实现我想要的,因为现在项目主要是用这个来写的[/quote] 可以先抓包分析一下,看看发的数据,与我的版本数据是不是一样。[/quote] 一语惊醒梦中人啊 多谢提醒
砍柴君 2013-10-23
  • 打赏
  • 举报
回复
引用 3 楼 zhao4zhong1 的回复:
不行换curl库?
引用 3 楼 zhao4zhong1 的回复:
不行换curl库?
能不能给我一个关于curl库能分别实现通过GET和POST去指定的网页上获取数据的例子代码吗 如果是我想要的功能那就最好了
军说网事 2013-10-23
  • 打赏
  • 举报
回复
引用 2 楼 jyckder 的回复:
[quote=引用 1 楼 u011729265 的回复:] 可以到参考我的博客: http://blog.csdn.net/wujunokay/article/details/12834649。 希望能帮到你。
你的倒是有的用处 但是我还是像要知道如果用winhttp需要怎么实现我想要的,因为现在项目主要是用这个来写的[/quote] 可以先抓包分析一下,看看发的数据,与我的版本数据是不是一样。
赵4老师 2013-10-23
  • 打赏
  • 举报
回复
不行换curl库?
砍柴君 2013-10-23
  • 打赏
  • 举报
回复
引用 1 楼 u011729265 的回复:
可以到参考我的博客: http://blog.csdn.net/wujunokay/article/details/12834649。 希望能帮到你。
你的倒是有的用处 但是我还是像要知道如果用winhttp需要怎么实现我想要的,因为现在项目主要是用这个来写的
军说网事 2013-10-23
  • 打赏
  • 举报
回复
可以到参考我的博客: http://blog.csdn.net/wujunokay/article/details/12834649。 希望能帮到你。

64,646

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

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