在delphi中的“自定义”浏览器中修改requestHeaders
发布时间:2020-12-15 09:19:58 所属栏目:大数据 来源:网络整理
导读:我的deplhi应用程序(IE)中集成了一个浏览器.我需要调用某个Web应用程序,我需要在标题中为来自我的应用程序浏览器的所有请求添加一个新变量,例如 jquery将x_robj添加到HTTP_X_REQUESTED_WITH参数.我怎么能这样做呢?代码样本会很棒.我是TWebBrowser的用户. 解
我的deplhi应用程序(IE)中集成了一个浏览器.我需要调用某个Web应用程序,我需要在标题中为来自我的应用程序浏览器的所有请求添加一个新变量,例如
jquery将x_robj添加到HTTP_X_REQUESTED_WITH参数.我怎么能这样做呢?代码样本会很棒.我是TWebBrowser的用户.
解决方法
您可以使用OnBeforeNavigate2事件修改标头:
procedure TForm1.WebBrowser1BeforeNavigate2(Sender: TObject; const pDisp: IDispatch; var URL,Flags,TargetFrameName,PostData,Headers: OleVariant; var Cancel: WordBool); var NewHeaders: OleVariant; begin // do not allow frames or iframes to raise this event if (pDisp as IUnknown) = (WebBrowser1.ControlInterface as IUnknown) then begin // avoid stack overflow: check if our custom header is already set if Pos('MyHeader',Headers) <> 0 then Exit; // cancel the current navigation Cancel := True; (pDisp as IWebBrowser2).Stop; // modify headers with our custom header NewHeaders := Headers + 'MyHeader: Value'#13#10; (pDisp as IWebBrowser2).Navigate2(URL,NewHeaders); end; end; (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |