WP7 WebBrowser управляющие заголовки - PullRequest
3 голосов
/ 22 марта 2011

HI, возможно добавить заголовки запроса в элемент управления WP7 WebBrowser?

Ответы [ 3 ]

0 голосов
/ 22 марта 2011

Нет способа сделать это.Если вам нужно изменить заголовки, вам нужно использовать HttpWebRequest.

. Вы можете перехватывать запросы от элемента управления WebBrowser и делать их самостоятельно через HWR, но это может очень быстро усложниться.

0 голосов
/ 07 апреля 2014

Извините за некро, но ответы здесь неправильные. Заголовки могут быть добавлены в WebBrowser с помощью метода Navigate.

WebBrowser.Navigate(YourURI, null, YourCustomHeaderString)

Смотрите эту страницу: http://msdn.microsoft.com/en-us/library/windowsphone/develop/ff626636(v=vs.105).aspx

.

Эти заголовки будут применяться только к первой странице, по которой осуществляется переход по вашему коду. Если вы хотите, чтобы заголовки оставались такими же, даже когда пользователи нажимают на ссылку внутри элемента управления веб-браузера, добавьте это для события навигации веб-браузера:

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, который сообщает нам, добавили ли мы собственные заголовки.

Когда веб-браузер пытается перейти, мы проверяем, содержит ли URL-адрес, на который он переходит, e.Uri, YESHEADERS.

Если это так, мы уже добавили наши заголовки. Не предпринимать никаких действий

Если это не так, отмените текущую навигацию. Создайте новый URL, равный старому URL и нашему индикатору. Мы добавляем YESHEADERS к новому URL в строке запроса. Если вы не знакомы со строками запроса, это нормально, просто знайте, что они являются дополнительными строками в URL, которые не имеют никакого эффекта в нашем случае. О строках запроса

Затем мы переходим к новому URL и добавляем наши пользовательские заголовки.

Короче говоря, если у нас есть индикатор YESHEADERS, веб-браузер знает, что мы добавили наши пользовательские заголовки, если у нас нет YESHEADERS, чем веб-браузер должен добавить заголовки.

0 голосов
/ 22 марта 2011

Нет - я не думаю, что есть какой-либо хук API для этого.

Эта проблема аналогична запросу «изменить пользовательский агент», рассмотренному в Вернуть мобильную версию веб-сайта в элемент управления WebBrowser для wp7?

...