1. Interface implementation
CString httpgetrequest (CString strservername,intNport, CString strurl, CString SParam) { if(Strservername.isempty ()) {return ""; } if(Strservername.mid (Strservername.getlength ()-1,1) =="/") {strServerName= Strservername.mid (0, Strservername.getlength ()-1); } if(Strservername.find (L"/ http") ==0) { intNlength = strlen ("/ http"); strServerName= Strservername.mid (Nlength, Strservername.getlength ()-nlength); } if(Strservername.find (L"https://") ==0) { intNlength = strlen ("https://"); strServerName= Strservername.mid (Nlength, Strservername.getlength ()-nlength); } hinternet hinternet= (hinstance) InternetOpen (L"user-agent", internet_open_type_preconfig, NULL, NULL,0); if(!hinternet) { return ""; } hinternet hconnect= (hinstance) internetconnect (hinternet, strServerName, Nport, NULL, L"http/1.1", Internet_service_http,0,0); if(!hconnect) { if(hinternet) internetclosehandle (hinternet); return ""; } CString Strrequestparam=strURL; if(!Sparam.isempty ()) {Strrequestparam= strURL + L"?"+SParam; } hinternet hrequest= (hinstance) httpopenrequest (Hconnect, L"GET", Strrequestparam, L"http/1.1", NULL, NULL, Internet_flag_reload,0); if(!hrequest) { if(hconnect) internetclosehandle (hconnect); if(hinternet) internetclosehandle (hinternet); return ""; } BOOLBRet; //BRet = httpaddrequestheaders (hrequest, "content-type:application/x-www-form-urlencoded", Len (FORMHEADERS), HTTP _addreq_flag_replace | Http_addreq_flag_add); BRet = HttpSendRequest (hrequest, NULL,0Null0); STD::stringstrresponse; while(TRUE) {Charcreadbuffer[4096]; unsignedLongulreadbytesize; BRet= InternetReadFile (hrequest, Creadbuffer,sizeof(Creadbuffer)-1, &ulreadbytesize); if(!bret | |!ulreadbytesize) Break; Creadbuffer[ulreadbytesize]=0; Strresponse= Strresponse +Creadbuffer; } if(hrequest) internetclosehandle (hrequest); if(hconnect) internetclosehandle (hconnect); if(hinternet) internetclosehandle (hinternet); CString Csresponse=Utocs (strresponse); returnCsresponse;}
2. Call the test
CString Sret = taskmgr::getinstance ()->httpgetrequest ("https://passport.cnblogs.com" "agreement.html" "");
3. Return results
HTTP GET Request