2011-08-16 8 views
6

UIWebview에서 암호와 사용자 이름이 필요한 URL을 열고 싶습니다. 같은 내 로컬 와이파이 라우터 (192.168.1.1)를 엽니 다. 하지만 코드를 따라하면 암호와 사용자 이름이 필요한 Safari로 팝업되지 않습니다. 누군가가 NSURLConnectionDelegate를 사용하라고 때문에URL을 여는 방법은 uiwebview에서 사용자 이름과 비밀번호가 필요합니까?

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

, 나는이 알고 있지만 내가있는 UIWebView에 승인 된 페이지를 표시하는 방법을 알고이 donot.

+0

시도는 여기에 설명 : http://stackoverflow.com/questions/1973325/nsurlconnection-and-basic-http-authentication – SVD

답변

7

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

3

NSURLConnectionDelegate에서 connection : didReceiveAuthenticationChallenge :를 구현해야합니다. 자세한 내용은 Apple URL Loading System Programming Guide에서 Authentication Challenges 장을 읽어보십시오.

+1

그러나 요청을로드 할 수있는 UIWebView를 사용하는 방법? – ZYiOS

1

가있는 UIWebView가 응답을 식별 할 수있는 메커니즘을 제공하지 않습니다 도움이 될 것입니다. 따라서 응답의 상태 코드를 식별하는 UIWebViewHttpStatusCodeHandling github 프로젝트에 한 가지 해결책이 설명되어 있습니다 (귀하의 경우에는 404 여야 함).

그러나 단점은 NSURLConnection을 사용하고 요청을 다시로드해야하는 각 요청에 대한 것입니다. 그러나이 경우 NSURLConnection도 취소 할 수 있습니다.

다른 해결책으로 Java Script를 사용해야합니다. 응답의 상태 코드를 제공하는 Java 스크립트를 검색하십시오. 같은 권한 부여 필드를 추가

관련 문제