как открыть URL нужно имя пользователя и пароль с uiwebview? - PullRequest
6 голосов
/ 16 августа 2011

Я хочу открыть URL, который требует пароль и имя пользователя в UIWebview. Например, открыть мой локальный маршрутизатор Wi-Fi (192.168.1.1). Но когда я пытаюсь выполнить следующий код, в Safari не появляется всплывающее окно, требующее ввода пароля и имени пользователя.

NSURL *url = [NSURL URLWithString:@"http://192.168.1.1"];
NSURLRequest *httpReq = [NSURLRequest requestWithURL:url];
[self._webView loadRequest:httpReq];

Так как кто-то сказал мне использовать NSURLConnectionDelegate, я знаю это, но я не знаю, как показать авторизованную страницу в UIWebView.

Ответы [ 3 ]

7 голосов
/ 23 августа 2011

Это поможет

NSURL *url = [NSURL URLWithString:@"http://username:password@192.168.1.1"]; NSURLRequest *httpReq = [NSURLRequest requestWithURL:url]; [self._webView loadRequest:httpReq];

3 голосов
/ 16 августа 2011

Вам необходимо реализовать соединение: didReceiveAuthenticationChallenge: в NSURLConnectionDelegate. Подробнее см. Аутентификация главу от Apple "Руководство по программированию системы загрузки URL".

1 голос
/ 24 августа 2011

UIWebView не предоставляет никакого механизма для идентификации ответа.Итак, одно решение объяснено в UIWebViewHttpStatusCodeHandling проекте github, который идентифицирует код состояния ответа (в вашем случае должно быть 404.)

Однако главный недостаток - для каждого запроса, который вам нужноиспользуйте NSURLConnection и загрузите запрос снова.Но в этом случае вы также можете отменить NSURLConnection.

Другим решением должно (может) быть использование Java-Script.Ищите Java-скрипт, который предоставляет код состояния ответа.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...