C++ http请求

来源:互联网 发布:北航网络教育官网 编辑:程序博客网 时间:2024/06/05 01:09

实例 代码

#include "stdafx.h"#include <stdio.h>#include <windows.h>#include <wininet.h>#include <iostream>#include <string>using namespace std;#define MAXSIZE 1024#pragma comment(lib, "Wininet.lib") bool  Urlopen(const _TCHAR* url, BYTE *&urlContent){HINTERNET hSession = InternetOpen(_T("UrlTest"), INTERNET_OPEN_TYPE_PRECONFIG, NULL, NULL, 0);if(hSession != NULL){HINTERNET hHttp = InternetOpenUrl(hSession, url, NULL, 0, INTERNET_FLAG_DONT_CACHE, 0);if (hHttp != NULL){urlContent = new (std::nothrow) BYTE[MAXSIZE];if(NULL == urlContent){return false;}memset(urlContent, 0, MAXSIZE);ULONG Number = 1;bool bInternetReadFile = false;bInternetReadFile = InternetReadFile(hHttp, urlContent, MAXSIZE - 1, &Number);if(!bInternetReadFile){return false;}if(Number <= 0 || Number >= <span style="font-family: Arial, Helvetica, sans-serif;">MAXSIZE</span>){return false;}urlContent[Number] = '\0';InternetCloseHandle(hHttp);hHttp = NULL;return true;}InternetCloseHandle(hSession);hSession = NULL;} return false;}int _tmain(int argc, _TCHAR* argv[]){wstring wstr = _T("http://120.25.242.254/WxService/test?UserId=niebingyu&OrgCode=YUTONGXUN5.0");BYTE* byte = NULL;bool bUrlopen = false;bUrlopen = Urlopen(wstr.c_str(), byte);if(NULL == byte){cout<<"byte is NULL"<<endl;return 0;}if(!bUrlopen){cout<<"Urlopen return false"<<endl;return 0;}cout<<byte<<endl;if(NULL != byte){delete byte;byte = NULL;}return 0;}


0 0
原创粉丝点击