vc webbrowser请求页面

Get请求

CExplorer1 m_MyIE;
m_MyIE.Navigate(TEXT("http://www.baidu.com"), NULL, NULL, NULL, NULL);

Post请求

VARIANT vUrl, vBody, vHeader, vFlag, vNull;
	std::string Url = "https://kns.cnki.net";
	std::string Parm="/kns8/Brief/GetGridTableHtml";
	std::string Body="IsSearch=true&QueryJson=%7B%22Platform%22%3A%22%22%2C%22DBCode%22%3A%22CFLS%22%2C%22KuaKuCode%22%3A%22CJFQ%2CCDMD%2CCIPD%2CCCND%2CBDZK%2CCISD%2CSNAD%2CCCJD%2CGXDB_SECTION%2CCJFN%2CCCVD%2CCYFD%22%2C%22QNode%22%3A%7B%22QGroup%22%3A%5B%7B%22Key%22%3A%22Subject%22%2C%22Title%22%3A%22%22%2C%22Logic%22%3A4%2C%22Items%22%3A%5B%7B%22Key%22%3A%22Expert%22%2C%22Title%22%3A%22%22%2C%22Logic%22%3A0%2C%22Name%22%3A%22%22%2C%22Operate%22%3A%22%22%2C%22Value%22%3A%22TI%3Ddna%22%2C%22ExtendType%22%3A12%2C%22ExtendValue%22%3A%22%E4%B8%AD%E8%8B%B1%E6%96%87%E5%AF%B9%E7%85%A7%22%2C%22Value2%22%3A%22%22%2C%22BlurType%22%3A%22%22%7D%5D%2C%22ChildItems%22%3A%5B%5D%7D%2C%7B%22Key%22%3A%22ControlGroup%22%2C%22Title%22%3A%22%22%2C%22Logic%22%3A1%2C%22Items%22%3A%5B%5D%2C%22ChildItems%22%3A%5B%5D%7D%5D%7D%7D&SearchSql=0645419CC2F0B23BC604FFC82ADF67C6E920108EDAD48468E8156BA693E89F481391D6F5096D7FFF3585B29E8209A884EFDF8EF1B43B4C7232E120D4832CCC896D30C069E762ACAB990E5EBAAD03C09721B4573440249365A4157D3C93DC874963F6078A465F9A4E6BEED14E5FD119B250F0488206491CF1C7F670020480B48EE2FF3341B3B9C8A0A38F9913EF596174EDD44BBA8277DA2BE793C92DF83782297DE55F70BBF92D5397159D64D1D3DAC96FAD28213BD3E1912A5B4A4AD58E5965CBDBA01069691140F14FD0298FBD1F452C7779EFF17124633292E356C88367122976245AA928FA07D061C0E091BB1136031750CD76D7D64E9D75B7FBAB11CAA5B80183AC60BB0885D2C0A0938C7D1F849656014326473DCB797D5D273C845DAF7FCE49D21478E9B06B77ADE6253ACD4FE1D87EE31B4B2C94E071EE733B3A64EA6EE9CD5F222FCD3DA1D83D9133EF8C9BED9ED3E55DA15F3B4A37C85463B60D2F0BEA46FC7135898D7D93F63AF8B2246716E32B699238901588EE5D1DEF30A01DCE9957CF6934E8B11E273747F9A9BB8ADF535E5E76F6A9386CFBE605748C132DA05E2D31832199B0A4ECF170ACA47154423CF6BBD9607FC505765E95637F93DC865AA738F5EE92B26DB9AF56509A5FC96FF9C3A1720633EBDDC62EC2162E7D5349CAC851ED0AD4E36DCF6FE25EBEAB42BF931DBE3CF4ED1A7BB8FD887C3C33D86B768B0BA7267C4E0E7DEE53D0931F71F07AE13BAFC46034A444EC24C7EA8F0086FAD197A8D2F18C6CBC5DF48050AF8D4C84DE03B9A6F1DF928D63286B1C924B7EC3BA8C2591D60491F95D271F0E7F02AA2AA93C3888B8CCEBB0414BD7145AD15A3166DB4860F85BC476B1B193C219EAE52E33E6BBC9B3AAAD97196977B7DABA36C04093ED723AD874EC6480477C6412B0F589DE6CC7D959855E41265213DCBB4D91238716DF38BF78C951259572F8E5968FAC5C5CDC006DBE919EEB5E5518F51162FCE7CDE520F60093D333FBE121D3164C6D2451F6431FB7973C659E6A9D287B545EC044DE2CBE170F3627719F8418D44E17987CEC7A89B52CB5525AF795DA892475ABF871C3A5A5FCBC5B03EB9BEC8598C8ADD7A68984BBBEF1244DD90386C05756687AB9D87A0B521319C093C3EC0D5EBEFDAB5459E29F1DA03D4C25DE740BF9FA2BC07DD510386E3BBE89F10D45513E29C8CF904763E723CE4BF2928D4DC2A731DD53595E9AACED90679FCDDACED022ECD59D72600A736D555A8B76BFE4CCD861E6A7F5A219EBE9A228BD008928299DB999D18F9CDD2E57E8C03EDF236E62EDB17A1FE5B023CF6E5A11892A5FA17EE5CFE348CA290DC691987A535223133D8CA101E8ABF13EFCAD929635E090B3C6BB6838E33B7C78C1DBA274101A6584300EF8D38C983AD544264217F6793562D19715CD711295C5410C72E88A64BD23D9049E5DF15EA6B3EB4473C1DDEBB416459322FEF0CC61D894476DCD62569527BE23FB7F66DF3F5182ABF2472FB60039CA77218F356D7F82E4EBAAA4C6875B5BD4729C81A29BDF55ED223AA0DAB04E1B248524FC504711360C330186327A780D6487BA831ABE55AAE38E69A0FBEF89D560E7AA26B991966E4B644338863E80AD9D1ACAD459EA933644C5A0D2EA44AD17205AED3BE66AEC01F48BA032EEBD620E2713082FE8D31E4A05A34F18BD389587FA4D3A9DFBB8C16AEE9C5FA9E667BA12A07B757D82F7BB41AC8867D9947CCBA3BB26381EC6D0D3966338DB6FA3D1A61F99A978C3B5ED2B31B7C14D54A4F688C4925C8AF99CB3EE3C2C06C7D35AD891BF0CFC820529FD990F2FF319BE195B1AD23C1667031C072EB1964F8512BB779125E46773C01714FCF0E339AEB0C44FB91B896A7A95AF4F81EB49006B570BC03ECA7D8DA45679F3B46A7AE3B46ED8D319CED49A3A5881A37CD3770703BDF026ACEF7D8662F85AFDBDD36C540FD419E18F30EA0483D24350B7C34C43F3D0065F339EAC15749DF8849F3880378FEA4AD7CCBAA827C828A5CAF7D56E97A87A3FAEEAE136B35FB37E8CE0233D9AF8DEABD47BD5B36A1B42B995D4F96FE744A2E25E9B6107801CACCA0DDC2B7ED5BFD39F68AB2E2BB66AB8286061049F3B5FFE871FFA520A7C0EEE3DEDF417D078DF9013B5F5251A07AE3D4D00B9AF1560200CC981D0E8BE17C9CE204C21E5E543C9E55421D4FCE2C309C68D376E3787AB4640FA99B82988A288FD22A2E0C9225E39A5DAA7EBEB0376912C9CA255A7AE49F3C5AB262B4FFFBA98A9548623C16D0C97C7315DF5FFD1507102EAA730E5247F1C492D49A45121347CFF39A5181729F1D33F28FA48035CBC02CF87DAF72067D70B524421AB21FF137A2C7AB2F90DAD1BA1786C16728E7B78DB0461B5B1E8CF7B88E765E67AF4E458EF3A5125D90DA88CE97D9AB9C4367CDD9EF532F8A9A3955E1D4D46E625E95CFEF70977502E427A6458608DFED29CA9D439F049814AC6BDEB37A19A48E5E356E561CA19F01718CB709C92E54D194964861C61FE5AA37C8F41DF1C0F92B3F3AF7EA0B39FA918C4B273880E3FCB6E39D477D24994ACAF0F6CF3588AB61FE146FBE2EAFDEB03CDEB1656BA95238277177D159DE80FCE692F467275B596BD8B6298E83AB1938DB63832ABB1DC1CB9494B0EAB45A64808933884B1102EF86FEDEA76266FEDC67E10FAE6D8416FAF330E093BCE55D33D71A71D573B351BB408F50E5A0C565B170EF3006B3F76BC7FB3EF8A2291920FFB1DEC37B10DA7A57334BAD94A8547A81EB3D82520B486F07129D38AF1CE5844163375887408CB5B6C28579BC23F86BC064A9794AD78504304CD11EF9B7FE0F743F8DBD9E921C09AC70C8780D371DCC8A2A8FC748A8AE5C2B0ABC1059DA48C8C08FE2A9B7B0A64E2E87A911B2826A670F4B8122DCAFE236DFB7AF3D7478C8CAACC2668E8D1B8C13BFD9DAD3A0678C54EB3FBF325AB68C0DB5867C928AF6D6DA9719F646E0725064C9D72751C&PageName=AdvSearch&HandlerId=1&DBCode=CFLS&KuaKuCodes=CJFQ%2CCDMD%2CCIPD%2CCCND%2CBDZK%2CCISD%2CSNAD%2CCCJD%2CGXDB_SECTION%2CCJFN%2CCCVD%2CCYFD&CurPage=1&RecordsCntPerPage=20&CurDisplayMode=listmode&CurrSortField=RELEVANT&CurrSortFieldType=desc&IsSortSearch=false&IsSentenceSearch=false&Subject=";
	std::string Header="Host: kns.cnki.net\r\nConnection: keep-alive\r\nContent-Length: 5323\r\nsec-ch-ua: \" Not A;Brand\";v=\"99\", \"Chromium\";v=\"102\", \"Google Chrome\";v=\"102\"\r\nAccept: text/html, */*; q=0.01\r\nContent-Type: application/x-www-form-urlencoded; charset=UTF-8\r\nX-Requested-With: XMLHttpRequest\r\nsec-ch-ua-mobile: ?0\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/102.0.5005.63 Safari/537.36\r\nsec-ch-ua-platform: \"Windows\"\r\nOrigin: https://kns.cnki.net\r\nSec-Fetch-Site: same-origin\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Dest: empty\r\nReferer: https://kns.cnki.net/kns8/AdvSearch?dbprefix=CFLS&&crossDbcodes=CJFQ%2CCDMD%2CCIPD%2CCCND%2CCISD%2CSNAD%2CBDZK%2CCCJD%2CCCVD%2CCJFN\r\nAccept-Encoding: gzip, deflate, br\r\nAccept-Language: zh-CN,zh;q=0.9";

	VariantInit(&vUrl);
	VariantInit(&vBody);
	VariantInit(&vHeader);
	VariantInit(&vFlag);
	VariantInit(&vNull);

	vUrl.vt = VT_BSTR;
	vBody.vt = VT_ARRAY | VT_UI1;
	vHeader.vt = VT_BSTR;
	vFlag.vt = VT_I4;
	vNull.vt = VT_BSTR;


	//将ANSI字符串转Unicode格式
	const char* strANSI = Body.c_str();
	int nLen = ::MultiByteToWideChar(CP_ACP, 0, strANSI, -1, NULL, 0);
	WCHAR* wStr = new WCHAR[nLen + 1];
	//使用缓冲区接收
	nLen = MultiByteToWideChar(CP_ACP, 0, strANSI, -1, wStr, nLen);

	//将Unicode格式转UTF8格式
	int uLen = WideCharToMultiByte(CP_UTF8, 0, wStr, -1, NULL, 0, NULL, NULL);
	char *pPostData = new char[uLen + 1];
	//使用缓冲区接收
	WideCharToMultiByte(CP_UTF8, 0, wStr, -1, pPostData, uLen, NULL, NULL);


	SAFEARRAY FAR* sfPost = NULL;
	SAFEARRAYBOUND bound;
	bound.cElements = (ULONG)(strlen(pPostData));
	bound.lLbound = 0;
	sfPost = SafeArrayCreate(VT_UI1, 1, &bound);

	char*  pChar = pPostData;
	for (long lIndex = 0; lIndex < (signed)bound.cElements; lIndex++) {
		SafeArrayPutElement(sfPost, &lIndex, (void*)((pChar++)));
	}


	vUrl.bstrVal = SysAllocString((_bstr_t)(Url + Parm).c_str());
	vHeader.bstrVal = SysAllocString((_bstr_t)(Header.c_str()));
	vBody.parray = sfPost;
	vFlag.iVal = navNoReadFromCache | navNoWriteToCache;			//拒绝从高速缓存读取和写入
	vNull.bstrVal = NULL;

	m_MyIE.Navigate2(&vUrl, &vFlag, &vNull, &vBody, &vHeader);


	VariantClear(&vUrl);
	VariantClear(&vBody);
	VariantClear(&vHeader);
	VariantClear(&vFlag);
	VariantClear(&vNull);
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值