转自:http://hi.baidu.com/benbearlove/item/1671c23017575825b3c0c53f

环境:xp sp3,vs2008,vs2010在静态库中使用 MFC

  1. #include <afxwin.h>
  2. #include <stdio.h>
  3. #include <windows.h>
  4. #include <string>
  5. #include "Wininet.h"
  6. #pragma comment(lib,"Wininet.lib")
  7. //模拟浏览器发送HTTP请求函数
  8. std::string HttpRequest(char * lpHostName,short sPort,char * lpUrl,char * lpMethod,char * lpPostData,int nPostDataLen)
  9. {
  10. HINTERNET hInternet,hConnect,hRequest;
  11. BOOL bRet;
  12. std::string strResponse;
  13. hInternet = (HINSTANCE)InternetOpen("User-Agent",INTERNET_OPEN_TYPE_PRECONFIG,NULL,NULL,0);
  14. if(!hInternet)
  15. goto Ret0;
  16. hConnect = (HINSTANCE)InternetConnect(hInternet,lpHostName,sPort,NULL,"HTTP/1.1",INTERNET_SERVICE_HTTP,0,0);
  17. if(!hConnect)
  18. goto Ret0;
  19. hRequest = (HINSTANCE)HttpOpenRequest(hConnect,lpMethod,lpUrl,"HTTP/1.1",NULL,NULL,INTERNET_FLAG_RELOAD,0);
  20. if(!hRequest)
  21. goto Ret0;
  22. //bRet = HttpAddRequestHeaders(hRequest,"Content-Type: application/x-www-form-urlencoded",Len(FORMHEADERS),HTTP_ADDREQ_FLAG_REPLACE | HTTP_ADDREQ_FLAG_ADD);
  23. //if(!bRet)
  24. //goto Ret0;
  25. bRet = HttpSendRequest(hRequest,NULL,0,lpPostData,nPostDataLen);
  26. while(TRUE)
  27. {
  28. char cReadBuffer[4096];
  29. unsigned long lNumberOfBytesRead;
  30. bRet = InternetReadFile(hRequest,cReadBuffer,sizeof(cReadBuffer) - 1,&lNumberOfBytesRead);
  31. if(!bRet || !lNumberOfBytesRead)
  32. break;
  33. cReadBuffer[lNumberOfBytesRead] = 0;
  34. strResponse = strResponse + cReadBuffer;
  35. }
  36. Ret0:
  37. if(hRequest)
  38. InternetCloseHandle(hRequest);
  39. if(hConnect)
  40. InternetCloseHandle(hConnect);
  41. if(hInternet)
  42. InternetCloseHandle(hInternet);
  43. return strResponse;
  44. }
  45. void main()
  46. {
  47. //CString strResponse = HttpRequest("translate.google.com",80,"/translate_t?langpair=en|zh-CN","POST","hl=zh-CN&ie=UTF-8&text=this is me&langpair=en|zh-CN",strlen("hl=zh-CN&ie=UTF-8&text=this is me&langpair=en|zh-CN"));
  48. std::string strResponse = HttpRequest("www.hao123.com",80,NULL,"GET",NULL,0);
  49. FILE * fp = fopen("C:\\123.htm","wb");
  50. fwrite(strResponse.c_str(),strResponse.length(),1,fp);
  51. fclose(fp);
  52. }

C++发送HTTP请求---亲测可行相关推荐

  1. 一分钟解决连接git/github失败问题!亲测可行!

    连接git/github失败问题 Git连接出错 镜像法 简单粗暴法 Github访问不上 找到解析时间最短的地址 修改配置文件 刷新配置 Git连接出错 完成基础配置后,始终不能进行git push ...

  2. Windows下命令行及Java+Tesseract-OCR对图像进行(字母+数字+中文)识别,亲测可行

    Windows下Java+Tesseract-OCR对图像进行字符识别,亲测可行 1. 下载tesseract-ocr.中文语言包并安装 2. 命令行对图片进行识别及效果图 3. Java调用Tess ...

  3. vegas pro 15解决导入的视频和音频有噪声问题,亲测可行

    vegas pro 15解决导入的视频和音频有噪声问题,亲测可行 参考文章: (1)vegas pro 15解决导入的视频和音频有噪声问题,亲测可行 (2)https://www.cnblogs.co ...

  4. python程序打包成exe可执行文件,亲测可行(pyinstaller教程)

    python程序打包成exe可执行文件,亲测可行(pyinstaller教程)(11-20190214) 文章目录: 有些程序你不想让别人看到,由此程序你想做成绿色软件普惠大众,有些..., 然而你只 ...

  5. win10 安装 SqlServer2008 亲测可行

    目录 准备: 开工: 总结: 准备: 网盘链接: 链接:https://pan.baidu.com/s/11Uc2alorjsAkEj1t0dxY3g  提取码:40bq  复制这段内容后打开百度网盘 ...

  6. ThinkBook 14P 15P 笔记本结束休眠后触控板手势失效问题解决 亲测可行

    ThinkBook 14P 15P 笔记本结束休眠后触控板手势失效问题解决 亲测可行 发现这个问题以后在网上搜了很多,基本网上现有的方案无法彻底解决:比如重启.注销:我也咨询了联想官方客服,结果他们让 ...

  7. 可用的公开 RTSP/ RTMP 在线视频流资源地址(亲测可行)

    可用的公开 RTSP/ RTMP 在线视频流资源地址(亲测可行) 时间节点:2023/01/23 rtsp: rtsp://wowzaec2demo.streamlock.net/vod/mp4:Bi ...

  8. 亲测可行ie8与ie11共存方法支持win7x64等

    https://multibrowser.com/到这个网站上下载最新版本,然后在里面下载一个免费的ie8或者ie11就可以实现亲测可行ie8与ie11共存,我提供下载好的版本请看附件 附图:

  9. 数据库安装时需要更新以前的Visual Studio 2010实例状态失败-----亲测可行

        数据库安装时"需要更新以前的Visual Studio 2010实例"状态失败                                               ...

最新文章

  1. 别太把图神经网络当回事儿
  2. 教程:10、VI编辑器
  3. linux stdin STDIN_FILENO 区别
  4. Java / 常见名词含义
  5. 02_JNI中Java代码调用C代码,Android中使用log库打印日志,javah命令的使用,Android.mk文件的编写,交叉编译
  6. 云效(原RDC)+ 容器服务完成持续集成
  7. 甜蜜暴击,情人节插画素材,甜而不腻!
  8. Python学习week4-set集合
  9. 远程连接 Mysql 失败的解决方法
  10. iOS端im实时音视频功能快速开发实操指导!
  11. Android API之android.view.View.MeasureSpec
  12. 【摘抄】SLAM中的位姿
  13. 干货|一文看懂BLE低功耗技术-附主流BLE芯片厂商介绍
  14. 软件工程知识点总结——第一、二部分
  15. 男人的梦想:世界名车标志
  16. 华为u8500在usb模式下logcat无法打印信息
  17. 字符串str.format()方法的个人整理
  18. yocs_velocity_smoother速度平滑库知识
  19. RelativeLayout 设置控件在最上层
  20. 笔记本怎么编html,笔记本win7深度技术旗舰版使用记事本编辑和运行html代码的方法...

热门文章

  1. Centos7更新YUM源、epel源
  2. OSChina 周四乱弹 —— 玩手机会变丑?
  3. Linux一句话精彩问答--2008/11/02更新--20071212pdf版本下载
  4. mp3tag批量编辑
  5. Hadoop概念以及架构介绍
  6. RK3568-IOT核心板不同规格品牌TF卡读写速率测试
  7. 第十一章 ALDS1_10_A:Fibonacci Number 斐波那契数列
  8. EXTJS系列笔记—实现 grid.ColumnModel 中每行后面的操作按钮
  9. 2020秋招提前批 柠檬微趣笔试题目
  10. 男人读懂女人心必须知道6句话