Windows phone 7 WP7网络浏览器控制头
您好,是否可以在WP7 WebBrowser控件中添加请求头?否-我认为没有任何API挂钩可用于此Windows phone 7 WP7网络浏览器控制头,windows-phone-7,http-headers,webbrowser-control,Windows Phone 7,Http Headers,Webbrowser Control,您好,是否可以在WP7 WebBrowser控件中添加请求头?否-我认为没有任何API挂钩可用于此 这是一个类似于中讨论的“更改用户代理”请求的问题,无法做到这一点。如果需要更改标题,则需要使用HttpWebRequest 您可以拦截来自WebBrowser控件的请求,并通过HWR自己进行处理,但这可能会很快变得复杂。对不起necro,这里的答案是错误的。可以通过Navigate方法将标题添加到WebBrowser WebBrowser.Navigate(YourURI,null,YourCus
这是一个类似于中讨论的“更改用户代理”请求的问题,无法做到这一点。如果需要更改标题,则需要使用
HttpWebRequest
您可以拦截来自WebBrowser控件的请求,并通过HWR自己进行处理,但这可能会很快变得复杂。对不起necro,这里的答案是错误的。可以通过Navigate方法将标题添加到WebBrowser
WebBrowser.Navigate(YourURI,null,YourCustomHeaderString)
见本页:
这些标题仅适用于通过代码导航到的第一个页面。如果希望即使用户单击web浏览器控件内的链接,标题也保持不变,请为WebBrowser的导航事件添加以下内容:
private void browser_Navigating(object sender, NavigatingEventArgs e)
{
string url = e.Uri.ToString();
if(!url.Contains("YESHEADERS"))
{
e.Cancel = true;
string newUrl;
if(url.Contains("?"))
{
newUrl = url + "&YESHEADERS";
}
else
{
newUrl = url + "?YESHEADERS";
}
browser.Navigate(newUrl, null, "fore:" + Variables.GetForeground() + "")
}
}
这就是它的作用:
我们创建一个指示器,YESHEADERS
,它告诉我们是否添加了自定义标题
当WebBrowser尝试导航时,我们检查它导航到的URL(例如Uri)是否包含YESHEADERS
如果有,我们已经添加了标题。不采取行动
如果没有,请取消当前导航。创建一个新URL,该URL等于旧URL加上我们的指示符。我们将YESHEADERS
添加到新URL的查询字符串中。如果您不熟悉查询字符串,只需知道它们是URL上的额外字符串,在我们的例子中没有任何影响
然后,我们导航到新的URL,并添加自定义标题
简言之,如果我们有指标YESHEADERS
,web浏览器知道我们已经添加了自定义标题,如果我们没有YESHEADERS
,web浏览器就需要添加标题