MFC HTTP(S)请求笔记
GET示例
#include <afxinet.h>
#include <iostream>
#include <vector>
#ifdef _UNICODE
#define COUT wcout
#else
#define COUT cout
#endif
using namespace std;
int main()
{
CInternetSession session(TEXT("MfcHttp"));
CHttpConnection *connection = session.GetHttpConnection(TEXT("example.com"), (INTERNET_PORT));
CHttpFile *file = connection->OpenRequest(CHttpConnection::HTTP_VERB_GET, TEXT(""));
try
{
file->SendRequest();
DWORD statusCode;
file->QueryInfoStatusCode(statusCode);
if (HTTP_STATUS_OK == statusCode)
{
CString contentLength;
file->QueryInfo(HTTP_QUERY_CONTENT_LENGTH, contentLength);
int fileSize = _ttoi(contentLength);
vector<char> buffer(fileSize + );
UINT numberOfBytesRead = file->Read(&buffer[], fileSize);
buffer[fileSize] = '\0';
COUT << &buffer[] << endl;
}
else
{
COUT << "statusCode" << statusCode << endl;
}
}
catch (CInternetException *ex)
{
TCHAR error[];
ex->GetErrorMessage(error, );
COUT << error << endl;
ex->Delete();
}
delete file;
delete connection;
system("pause");
return ;
}
若要访问HTTPS链接,应将上述代码中的
CHttpConnection *connection = session.GetHttpConnection(TEXT("example.com"), (INTERNET_PORT)80);
CHttpFile *file = connection->OpenRequest(CHttpConnection::HTTP_VERB_GET, TEXT(""));
更改为
CHttpConnection *connection = session.GetHttpConnection(TEXT("www.example.com"), INTERNET_FLAG_SECURE, (INTERNET_PORT)443);
CHttpFile *file = connection->OpenRequest(CHttpConnection::HTTP_VERB_GET, TEXT(""), nullptr, 1, nullptr, nullptr, INTERNET_FLAG_SECURE);
参考博文:MFC使用HttpGet和HttpPost方法与服务器通信
MFC HTTP(S)请求笔记的更多相关文章
- 《MFC游戏开发》笔记十 游戏中的碰撞检测进阶:地图类型&障碍物判定
本系列文章由七十一雾央编写,转载请注明出处. http://blog.csdn.net/u011371356/article/details/9394465 作者:七十一雾央 新浪微博:http:// ...
- 《MFC游戏开发》笔记九 游戏中的碰撞判定初步&怪物运动简单AI
本系列文章由七十一雾央编写,转载请注明出处. http://blog.csdn.net/u011371356/article/details/9374935 作者:七十一雾央 新浪微博:http:// ...
- 《MFC游戏开发》笔记八 游戏特效的实现(二):粒子系统
本系列文章由七十一雾央编写,转载请注明出处. http://blog.csdn.net/u011371356/article/details/9360993 作者:七十一雾央 新浪微博:http:// ...
- 《MFC游戏开发》笔记七 游戏特效的实现(一):背景滚动
本系列文章由七十一雾央编写,转载请注明出处. http://blog.csdn.net/u011371356/article/details/9344721 作者:七十一雾央 新浪微博:http:// ...
- 《MFC游戏开发》笔记六 图像双缓冲技术:实现一个流畅的动画
本系列文章由七十一雾央编写,转载请注明出处. http://blog.csdn.net/u011371356/article/details/9334121 作者:七十一雾央 新浪微博:http:/ ...
- 《MFC游戏开发》笔记五 定时器和简单动画
本系列文章由七十一雾央编写,转载请注明出处. http://blog.csdn.net/u011371356/article/details/9332377 作者:七十一雾央 新浪微博:http:// ...
- 《MFC游戏开发》笔记四 键盘响应和鼠标响应:让人物动起来
本系列文章由七十一雾央编写,转载请注明出处. http://blog.csdn.net/u011371356/article/details/9327377 作者:七十一雾央 新浪微博:http:// ...
- 《MFC游戏开发》笔记三 游戏贴图与透明特效的实现
本系列文章由七十一雾央编写,转载请注明出处. 313239 作者:七十一雾央 新浪微博:http://weibo.com/1689160943/profile?rightmod=1&wvr=5 ...
- 《MFC游戏开发》笔记二 建立工程、调整窗口
本系列文章由七十一雾央编写,转载请注明出处. http://blog.csdn.net/u011371356/article/details/9300383 作者:七十一雾央 新浪微博:http:/ ...
随机推荐
- 致命错误:ext/standard/php_smart_str.h:没有那个文件或目录
致命错误:ext/standard/php_smart_str.h:没有那个文件或目录 参考文章:https://blog.csdn.net/jartins/article/details/80371 ...
- [功能集锦] 001 - java下载文件
@RequestMapping("/downloadxls.action") public void downloadxls(HttpServletRequest request, ...
- Codeforces A. Bear and Big Brother
...不行.这题之后.不做1000分以下的了.很耻辱 A. Bear and Big Brother time limit per test 1 second memory limit per t ...
- mysql 设置不了短串密码怎么办 You must reset your password using ALTER USER statement before executing this statement.
centos7+ 安装 mysq 5.7 https://www.linuxidc.com/Linux/2016-09/135288.htm set global validate_password_ ...
- 黑科技:CSS定制多行省略
转载请注明出处:http://hai.li/2017/03/08/css-multiline-overflow-ellipsis.html 什么是多行省略? 当字数多到一定程度就显示省略号点点点.最初 ...
- ubuntu navicat for mysql破解
ubuntu navicat for mysql破解 ubuntu navicat for mysql只能试用14天. 破解方法:rm -rf /home/cxg/.navicat64/
- PopupMenu和对话框的使用
PopupMenu和对话框的使用 1.菜单的使用之 PopupMenu 步骤:1.创建popupMenu对象 参数:上下文对象 当前view对象 2.利用getMenu().addSubMenu创 ...
- 邁向IT專家成功之路的三十則鐵律 鐵律二十四:IT人歲月增長之道-智慧
老子曾經在道德經中提到:「以道為本而繁守不失的,可算是長久.身雖死亡而精神不朽的,可算是長壽」.人在世間最悲哀的莫過於老死,但最可貴的則莫過於智慧.只是人的智慧不一定會隨著年齡的增長與歲月的流逝而成長 ...
- 启动weblogic域不需要输入密码设置方法
分类: IT综合技术 一.问题描述与分析 部署完WEBLOGIC后,在每次启动时执行./startWebLogic.sh脚本时,都会停在输入用户名与密码这里,相当不方便.所以要做到启动过程不输 ...
- 调用tensorflow中的concat方法时Expected int32, got list containing Tensors of type '_Message' instead.
grid = tf.concat(0, [x_t_flat, y_t_flat, ones])#报错语句 grid = tf.concat( [x_t_flat, y_t_flat, ones],0) ...