如何在NSURLConnection中使用sendSynchronous请求进行身份验证

时间:2012-02-25 20:37:30

标签: asynchronous nsurlconnection nsurlrequest nsurlcredential

任何人都可以告诉我如何使用NSURLConnection发送身份验证请求。我按照stackoverflow question链接尝试了以下代码段,但仍无法正常工作。

我想使用同步请求进行身份验证,并且要求身份验证两次

1.代理人:proxy.net
2.主站点:main.mainsite.com(此处未列出相同的代码)

我使用以下代码执行相同的操作 -

NSURLCredential *credential = [NSURLCredential credentialWithUser:@"user.me"
                                                         password:@"Passme@4me"
                                                      persistence:NSURLCredentialPersistenceForSession];


NSURLProtectionSpace *protectionSpace = [[NSURLProtectionSpace alloc]
                                         initWithHost:@"proxy.net"
                                         port:0
                                         protocol:@"http"
                                         realm:nil
                                         authenticationMethod:NSURLAuthenticationMethodDefault];


[[NSURLCredentialStorage sharedCredentialStorage] setCredential:credential
                                                    forProtectionSpace:protectionSpace];

NSURLRequest *theRequest=[NSURLRequest requestWithURL:[NSURL URLWithString:@"http://main.mainsite.com/"  cachePolicy:NSURLRequestUseProtocolCachePolicy
                                      timeoutInterval:30.0];

NSData* returnData=[[NSURLConnection sendSynchronousRequest:theRequest returningResponse:&response error:&err];

但即使凭据正确,代理也会阻止请求。任何人都可以使用方法对我进行身份验证

[NSURLConnection sendSynchronousRequest:theRequest returningResponse:&response error:&err];

1 个答案:

答案 0 :(得分:0)

尝试使用2个不同的保护空间...一个用于“proxy.net”而另一个用于“mainsite.com”......?