gpt4 book ai didi

iPhone:如何使用 NSURLCredential 获得 HTTPS Web 服务的基本身份验证

转载 作者:行者123 更新时间:2023-12-03 21:12:22 27 4
gpt4 key购买 nike

我正在尝试使用基本身份验证调用 https Web 服务 (RESTful)。如果我将凭据放在 url 本身中,效果很好,但我宁愿将其添加到请求中,这样密码就不会出现,例如在异常中。

我正在使用以下代码:

    NSURLCredential *credential = [NSURLCredential credentialWithUser:@"myuser"
password:@"mypassword"
persistence:NSURLCredentialPersistenceForSession];

NSURLProtectionSpace *protectionSpace = [[NSURLProtectionSpace alloc]
initWithHost:@"example.com"
port:443
protocol:@"https"
realm:nil
authenticationMethod:NSURLAuthenticationMethodHTTPBasic];


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

NSURLConnection *theConnection = [NSURLConnection connectionWithRequest:theRequest delegate:self];

但是它不起作用。 didReceiveAuthenticationChallenge 委托(delegate)方法被调用,我可以在其中添加一个凭据,但理想情况下我会随请求一起发送它。

有什么想法吗?

最佳答案

如果是基本身份验证,请尝试在 header 中发送凭据。每次都对我有用。

用于在请求 header 中发送用户名和密码

NSString *authString = [[NSString stringWithFormat:@"%@:%@", userName, password] stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
NSString *finalAuth = base64 of authString;

在您的请求中,添加一个 header ,其中包含字段名称 Authorization 和值 "Basic "+ FinalAuth

关于iPhone:如何使用 NSURLCredential 获得 HTTPS Web 服务的基本身份验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2326417/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com