开发者

Setting Proxy Username & password using Objective-C - iPhone

开发者 https://www.devze.com 2023-04-06 10:26 出处:网络
I\'m testing an application in iPhone simulator where it actually makes an HTTP request using dataWithContentsOfURL: method of NSData.

I'm testing an application in iPhone simulator where it actually makes an HTTP request using dataWithContentsOfURL: method of NSData.

My mac has proxy settings protected with username & password. By default the simulator is not considering the proxy settings provided开发者_如何学C in my Mac. I'm getting the following response. Is there a way where we can programmatically provide the proxy username, password so that the simulator can read the values and allow the request to take place.

Response:

<HTML><HEAD>
<TITLE>Access Denied</TITLE>
</HEAD>
<BODY>
<FONT face="Helvetica">
<big><strong></strong></big><BR>
</FONT>
<blockquote>
<TABLE border=0 cellPadding=1 width="80%">
<TR><TD>
<FONT face="Helvetica">
<big>Access Denied (authentication_failed)</big>
<BR>
<BR>
</FONT>
</TD></TR>
<TR><TD>
<FONT face="Helvetica">
Your credentials could not be authenticated: "Credentials are missing.". You will not be permitted access until your credentials can be verified.
</FONT>
</TD></TR>
<TR><TD>
<FONT face="Helvetica">
This is typically caused by an incorrect username and/or password, but could also be caused by network problems.
</FONT>
</TD></TR>
<TR><TD>
<FONT face="Helvetica" SIZE=2>
<BR>
For assistance, contact your network support team.
</FONT>
</TD></TR>
</TABLE>
</blockquote>
</FONT>
</BODY></HTML> 

Thanks Sudheer


-(void)connection:(NSURLConnection *)connection didReceiveAuthenticationChallenge:(NSURLAuthenticationChallenge *)challenge{

    if ([challenge previousFailureCount] == 0) {
        NSURLCredential *newCredential;
        newCredential=[NSURLCredential credentialWithUser:@"ABC"
                                                 password:@"ABC"
                                              persistence:NSURLCredentialPersistenceNone];
        [[challenge sender] useCredential:newCredential
               forAuthenticationChallenge:challenge];
          } else {

        [[challenge sender] cancelAuthenticationChallenge:challenge];
        // inform the user that the user name and password
        // in the preferences are incorrect
    }

}
0

精彩评论

暂无评论...
验证码 换一张
取 消