vc webbrowser请求页面_ucfp:86fce7fd-c4e9-481f-b390-fa9bc083aab1-17048913-程序员宅基地

技术标签: c++  http  mfc  

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);
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/bangtanhui/article/details/125320134

智能推荐

Java中的Action、Service和DAO层功能区分及示例解释-程序员宅基地

文章浏览阅读555次。Action/Service/DAO简介:Action是管理业务(Service)调度和管理跳转的。Service是管理具体的功能的。Action只负责管理,而Service负责实施。DAO只完成增删改查,虽然可以1-n,n-n,1-1关联,模糊、动态、子查询都可以。但是无论多么复杂的查询,dao只是封装增删改查。至于增删查改如何去实现一个功能,dao是不管的。总结这三者,通过例子来解释:Acti..._java中action

Servlet详解-程序员宅基地

文章浏览阅读321次。Servlet (Server Applet),全称Java Servlet。是用Java编写的服务器端程序,其,生成动态的Web内容。Servlet运行于支持Java的应用服务器中(如Tomcat等)。从实现上讲,Servlet可以响应任何类型的请求,但绝大多数情况下,servlet只用来扩展基于HTTP协议的服务器。

VMware与艾莫讯国产300编程电缆兼容性问题_虚拟机插入mpi电缆卡死-程序员宅基地

文章浏览阅读1.3k次。VMware-15.1.0 -VMware-15.5.5之间所有的版本都与国产艾莫讯0CB20电缆有兼容问题。 具体故障是只要连接到虚拟机并驱动就会造成虚拟机死机。西门子官方的0CB20电缆不会存在这个问题。说明国产电缆和官方电缆的实现方式还是有区别,这次蓝屏死机BUG主要是由VMware引起的,为了验证我还特意去咸鱼上整了一条官方电缆。 我为什么知道这么清楚呢,因为vmware每一次更新我都会去升级,然后去现场干活。接下来的事情你们应该能想到了,去现场都读程序,结果插上电缆就死机。急忙跟客户说.._虚拟机插入mpi电缆卡死

java找不到符号解决办法-程序员宅基地

文章浏览阅读1.6w次,点赞11次,收藏15次。一、java找不到符号如果你的代码里没有报错,明明是存在的。但是java报错找不到符号。像下面这样子。二、解决步骤1.清除编码工具缓存本人用的idea, eclipse清除缓存方式有需要的可以百度一下!2.如果是mavne项目的先clean 再package总结提示:一定要package本人刚开始就是知道clean了,没有package导致问题一直没有解决。在此记录一下!...

【Nginx】配置详解_nginx修改配置文件如何生效-程序员宅基地

文章浏览阅读1.3w次,点赞4次,收藏22次。访问到未定义的扩展名的时候,就默认为下载该文件。#服务器并发处理能力,值越大并发能力越强(受自身配置限制)一个http块可以包含多个server块,而一个server块就等于一个虚拟主机。nginx配置最频繁的部分,比如代理,日志,缓存、第三方模块等等。包括文件引入、MIME-TYPE定义,日志自定义、连接超时等等。需要注意的是http块可以包括http全局块和server块。server块又包含全局server块和location块。二、容器部署的项目,配置nginx。2.2,events块。..._nginx修改配置文件如何生效

Unity核心9——3D动画_unity动画-程序员宅基地

文章浏览阅读6.3k次,点赞7次,收藏30次。Has Exit Time:是否有退出时间,如果勾选,当切换动画时,动画一定是播放到下方的 Exit Time(百分比)的时间时才过渡到下一个动画。​ 我们是否可以这样做,比如开枪动画只影响上半身,下半身根据实际情况播放站立,跑动,蹲下动作,通过上下半身播放不同的动画就可以达到动画的组合播放。不同的是有一个上层的图标(Up Base Layer),通过连接该状态来转移到上层状态机的某个状态。主要用于直接从另一个层复制状态过来,在该层中进行修改,另一个层的设置信息都将保留,我们只需要替换状态对应的动画即可。_unity动画

随便推点

Buck电路 (PWM实现与闭环反馈) 电力系统仿真_buck电路带反馈控制-程序员宅基地

文章浏览阅读962次,点赞2次,收藏11次。Buck电路 (PWM实现与闭环反馈) 电力系统仿真_buck电路带反馈控制

jQuery实现轮播图代码_jquery轮播图代码-程序员宅基地

文章浏览阅读699次,点赞11次,收藏8次。一个简单的jQuery轮播图代码,首先,定义了一个slideshow-container的div容器,其中包含了所有轮播图幻灯片。每个幻灯片都包含一个mySlides的类名,并且使用CSS将其隐藏。在showSlides()函数中,遍历所有幻灯片并将它们隐藏,然后显示当前索引的幻灯片。最后,我们使用setTimeout()函数来每隔2秒钟调用showSlides()函数,从而实现了轮播效果。它使事情变得更简单,使用jQuery能够以最小的努力在Web上构建复杂的交互性。_jquery轮播图代码

android adb install apk的安装流程_full install must include a base packag-程序员宅基地

文章浏览阅读1.1w次,点赞6次,收藏23次。一、简介 1.Android上应用安装可以分为以下几种方式:通过adb命令安装:adb 命令包括adb push/install 用户下载的Apk,通过系统安装器packageinstaller安装该Apk。packageinstaller是系统内置的应用程序,用于安装和卸载应用程序。 系统开机时安装系统应用。 电脑或者手机上的应用商店自动安装第三种系统安装我们在上个章节P..._full install must include a base packag

漂亮的css透明样式菜单-程序员宅基地

文章浏览阅读74次。下载地址漂亮的css透明样式菜单,可以用作工具栏或者导航条,小图标可以自定义。dd:_漂亮的css透明样式菜单

牛人莫入 Silverlight DataGrid 分组技巧 -程序员宅基地

文章浏览阅读983次。牛人莫入 Silverlight DataGrid 分组技巧 最近在项目中很多的地方都用到了数据的展示---DataGrid控件,在园子里面也有很多的朋友也对这个DataGrid控件也写了很多的教程;我这里也与其它人也没有什么区别,这里只是告诉大家一个小的技巧;但是我相信这一个小的技巧对大家以后在项目中应该有一些帮助;一天,领导走过来看了我用户管理UI,我用了一

U-net网络_sr3 的u-net-程序员宅基地

文章浏览阅读1.8w次,点赞14次,收藏89次。 U-net网络是一个典型的端到端的网络结构。如下图所示: 基本的网络结构并不复杂,但是代码实现过程中需要进行调试,但这会花费很大的时间。本文旨在为初学者介绍代码的快速使用方法,直接将U-net网络作为黑盒使用。如果您觉得对您有用,请点个赞,欢迎交流。一:从github上下载改进的U-net源码:点击打开传送门显示如下:二:点击Clone or download,下载..._sr3 的u-net