Как добавить настраиваемые заголовки HTTP в запрос UIWebView, мой UIWebView основан на проекте Cordova?

Моя страница IOS UIWebView основана на исходной структуре Кордовы Кордовы, и я хочу добавить некоторые настройки заголовков HTTP в свой URL-адрес URL-адреса, поэтому мое решение состоит в том, чтобы добавить их в следующий метод делегирования UIWebView.

Debug показывает, что заголовки добавлены успешно, но на самом деле запрос не выводит их. Использование Wireshark для захвата сетевых пакетов и обнаружение только стандартных заголовков доступно без моих настроек.

Мое тестирование основано на симуляторе (iOS 7.1), всем, кто имеет опыт в этой теме, пожалуйста, делитесь и обсудите вместе, спасибо заранее.

- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType { // Add customize http headers in UIWebView request if([request isKindOfClass:[NSMutableURLRequest class]]) { NSMutableURLRequest * mRequest = (NSMutableURLRequest *)request; [mRequest setValue:@"1.1" forHTTPHeaderField:@"appVersion"]; [mRequest setValue:@"iPhone 4S" forHTTPHeaderField:@"deviceModel"]; } return [super webView:webView shouldStartLoadWithRequest:request navigationType:navigationType]; } 

3 Solutions collect form web for “Как добавить настраиваемые заголовки HTTP в запрос UIWebView, мой UIWebView основан на проекте Cordova?”

У вас есть два варианта: создать NSMutableUrlRequest в начале и загрузке с помощью webView loadReqest или взять на себя полную загрузку URL вашего приложения с помощью NSURLProtocol .

Самый простой способ – это первый выбор в качестве его единственных дополнительных строк кода:

 [webView loadRequest:mRequest]; 

Второй вариант использует NSURLProtocol для загрузки URL-адреса вашего приложения. это включает в себя регистрацию собственного решения с помощью создания конкретного класса. основным методом переопределения является canonicalRequestForRequest .

Я предлагаю вам взглянуть на эти два руководства NSNipster и raywenderlich для руководств.

Я знаю его поздно, но могу помочь другим для SWIFT 3.0

 let weburl = NSURL(string: "http://www.mywebsite.com") let request = NSMutableURLRequest(URL: weburl!) request.setValue("HEADER_VALUE", forHTTPHeaderField:"HEADER_NAME") myWebView.loadRequest(request) 

Иногда Cookies не устанавливаются даже после назначения всех заголовков HTTP. лучше создать изменяемый запрос и скопировать ваш nsurlrequest и добавить к нему свой собственный заголовок, чтобы вся информация из исходного запроса сохранялась в изменчивом.

 - (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest*)request navigationType:(UIWebViewNavigationType)navigationType { if(check if key not present){ NSMutableURLRequest *re = [[NSMutableURLRequest alloc] init];//alloc init not required re = (NSMutableURLRequest *) request.mutableCopy; [re setValue:@"Your Custom Value" forHTTPHeaderField:@"Yout Custom Header"]; [webView loadRequest:re] ; return NO; } return YES; } 
  • UIWebview: не вращается и не изменяется, чтобы соответствовать всему экрану
  • iOS webview оставляет пустое пространство перед содержимым HTML
  • Каков наилучший подход для анализа XML / 'scraping экрана в iOS? UIWebview или NSXMLParser?
  • UIWebView очищает кеш после выхода из приложения и не кэширует изображения в автономном режиме
  • iOS - изменение размера UIWebView в соответствии с содержанием?
  • Медиа-обратные вызовы с встроенными видеороликами YouTube на iOS
  • Ширина таблицы HTML в UIWebView
  • Предполагаемый прогресс WKWebView
  • Метод windowScriptObject не найден в коде Objective-C
  • Можете ли вы перехватить NSURLRequests в UIWebView, не нарушая кнопку «Назад»?
  • Как включить включение UIWebView в UIScrollView?
  • Interesting Posts

    Опубликовать изображение на facebook с помощью FBSDK 4.x для iOS

    Нажмите на один элемент, запускающий нажатие на другой элемент, находящийся в том же месте на мобильном Safari (призрачные краны)

    youtube-mp3.org api не работает должным образом, загружает только кешированные видео

    MPMoviePlayerController – элементы управления не выровнены

    NSSortDescriptor в Swift

    Xcode не может найти Alamofire, ошибка: нет такого модуля 'Alamofire'

    как вы определяете расстояние между ячейками в UICollectionView flowLayout

    UIToolbar не показывает UIBarButtonItem

    Push Notification Изменение значка AppIcon

    iOS 8 iPad только ошибка с листами действий

    Рекомендуемый iOS способ работы с интерфейсами портретной и альбомной ориентации

    Как обновлять элементы в контроллере просмотра

    Как получить yyyy-mm-dd hh: mm: ss format from "2015-06-26T00: 10: 00 + 01: 00" в быстрой

    Симулятор IOS SigKill

    Ошибки и переполнения точности GLSL ES

    PhoneC: Разработка iOS проста с помощью XCode, Swift3, UITableView, cocatouch, давайте создадим приложения для iPhone, iPad и Macbook.