欢迎来到天天文库
浏览记录
ID:30416193
大小:91.39 KB
页数:13页
时间:2018-12-29
《如何向http请求添加自定义标头》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、如何向HTTP请求添加自定义标头如何向HTTP请求添加自定义标头发布日期:1/6/2005
2、更新日期:1/6/2005ByJayAllen、MarkDavis、HeidiHousten和ToshMestonMicrosoftCorporation啊,现在正是Redmond的夏季,也就是说多雨的日子来临了。这是太平洋西北岸地区的典型生活,但没关系。这对于Web小组来说只意味着有更多的时间来准备优秀专栏了。本月我们解释了如何向HTTP请求添加自定义标头,讲述了您想了解的有关IFRAME的所有信息,还演示了如何在Web窗体中使用可信的旧
3、ADODB库,甚至还提供了一个用于对表列进行大小调整的出色行为。另外,Web小组短问短答部分还提供了更多技巧,有助于您在构建页面的过程中获得成功。与平常一样,我们非常愿意帮助您解决Web方面的难题,因此如果有什么问题,请发送电子邮件至webtalk@microsoft.com,我们会给予您解答。本页内容获取标头世界之窗ASP.NET中的旧库数据访问Web小组短问短答获取标头亲爱的Web小组:我正在尝试找出一种办法,向IE发出的所有HTTP请求插入一个自定义标头域。但是到目前为止,还不是非常走运。请您帮忙!谢谢,DaleLiaoWe
4、b小组的回答:您来对地方了,Dale。播撒希望的光芒正是Web小组的专长。重用InternetExplorerWebBrowser控件、自动化InternetExplorer,或者编写BrowserHelperObject(BHO)的C++和VisualBasic®;开发人员具有一个非常方便使用的事件接口,称为DWebBrowserEvents2。如果您只需为初始HTML页发送自定义标头的话,则可以使用BeforeNavigate2()事件,其Header参数使您能够向传出事务插入任意标头。但是,因为此事件是对于主URL触发
5、的,对于其任何内嵌内容并不能触发,所以对于图像、脚本文件等不会收到此事件。有一种肯定能够触发的方法可用于向每个传出事务添加数据。假设您安装了一个自定义软件程序包(可能具有一些ActiveX®;控件宿主于您站点之外的网页上),您希望将这种情况以信号的形式发送给服务器,而不管用户访问您站点的方式是使用InternetExplorer还是使用WebBrowser主机。您可以通过向下列注册表项插入一个新的String值,将这些信息附加到InternetExplorerUser-Agent字符串的最后:HKEY_LOCAL_MACH
6、INESoftwareMicrosoftWindowsCurrentControlSetInternetSettings.0UserAgentPostPlatform此项下面定义的任何新String值的名称都将附加到UserAgent字符串的最后,InternetExplorer会将该字符串发送到所有网站。那些安装了.NET的人会发现,对于您计算机上安装的公共语言运行库版本已经定义了一个值。这个预先定义的值使得网站能够有条件地向Web浏览器提供托管内容。如果您不需要使用WebBrowser控件,但是需要消耗使用HTT
7、P的原始数据,则还有另一个选择,就是直接使用URLMoniker(URLMON),这样您就能够使用IHttpNegotiate接口向请求添加附加标头了。MFC利用CAsyncMonikerFile类使得上述过程变得非常简单,这是一个虚拟类,实现它的目的是为了向URLMON使用的IBindStatusCallback方法提供代码。您可以重写CAsyncMonikerFile的Open()方法的默认实现,以便提供您的IHttpNegotiate接口实现。1.创建一个新的MFC类,使其从CCmdTarget继承。对于这个示例,我们将该类
8、称为NegotiateCallback。2.使用MFC的BEGIN_INTERFACE_PART宏创建一个内部类,使其实现IHttpNegotiate接口。MFC会将IHttpNegotiate查询委托给这个内部类。这些应该在该类的.h文件中。BEGIN_INTERFACE_PART(HttpNegotiateObj,IHttpNegotiate)STDMETHOD_(HRESULT,BeginningTransaction)(LPCWSTRszUrl,LPCWSTRszHeaders,DWORDdwReserved,LPWSTR
9、*pszAdditionalHeaders);STDMETHOD_(HRESULT,OnResponse)(DWORDdwResponseCode,LPCWSTRszResponseHeaders,LPCWSTRszRequestHeaders,L
此文档下载收益归作者所有