WinHttpRequest 的 dll位置: C:\Windows\System32\winhttp.dll
所以使用之前需要写上
#import "C:\\Windows\\System32\\winhttp.dll"// no_namespace using namespace WinHttp;
实现简单的GET请求
// TODO: 在此添加控件通知处理程序代码 //CoInitialize(NULL);//COM组件初始化 可以不写.但是有些时候会用到 IWinHttpRequestPtr pHttpReq = NULL; //定义指针 pHttpReq.CreateInstance(__uuidof(WinHttpRequest)); pHttpReq->Open(L"GET", L"http://www.baidu.com"); pHttpReq->Send(); _bstr_t bStrRsp = pHttpReq->ResponseText; CString str = bStrRsp; 编辑框1.SetWindowTextW(str); //CoUninitialize(); //卸载com组件 如果中途返回,记得返回之前卸载
实现post登录zblog
// TODO: 在此添加控件通知处理程序代码 CString 账号, 密码,提交数据; 编辑框_账号.GetWindowTextW(账号); 编辑框_密码.GetWindowTextW(密码); if (账号.IsEmpty() || 密码.IsEmpty()) { MessageBox(L"账号或密码不能为空"); return; } IWinHttpRequestPtr pHttpReq = NULL; //定义指针 pHttpReq.CreateInstance(__uuidof(WinHttpRequest)); pHttpReq->Open(L"POST", L"http://zblog.com/zb_system/cmd.php?act=verify"); pHttpReq->SetRequestHeader(L"Content-Type", L"application/x-www-form-urlencoded"); 提交数据.Format(L"btnPost=&username=%s&password=%s&savedate=1", 账号,密码); COleVariant varbody; varbody = 提交数据; pHttpReq->Send(varbody); _bstr_t bStrRsp = pHttpReq->ResponseText; CString str = bStrRsp; if (str.Find(L">注销<")!=-1) { MessageBox(L"登录成功"); } else{ MessageBox(L"登录失败"); }