gpt4 book ai didi

iphone - ASIHTTP请求验证

转载 作者:行者123 更新时间:2023-12-03 19:09:48 24 4
gpt4 key购买 nike

我发现了ASIHTTPRequest几天前,我现在被一件事挡住了。我想在 https 地址 ( https://user:pwd@api.domain.com/0.1/userCom/?apikey=12432 ) 上验证我的身份

我尝试这个代码:

   NSURL *url = [NSURL URLWithString:@"https://api.domain.com/0.1/userCom/?apikey=12432"];
ASIFormDataRequest *request = [ASIFormDataRequest requestWithURL:url];
[request setDelegate:self];
[request setUsername:@"myUserName"];
[request setPassword:@"myPassword"];
[request startAsynchronous];

我已经实现了委托(delegate)方法

-(void)requestFailed:(ASIHTTPRequest *)request
{
NSError *error = [request error];
NSLog(@"Failed %@ with code %d and with userInfo %@",[error domain],[error code],[error userInfo]);
}

-(void)requestFinished:(ASIHTTPRequest *)request
{
NSLog(@"Finished : %@",[request responseString]);
}

当我启动应用程序时,会直接调用 requestFailed 方法,并且我收到以下消息:

Failed ASIHTTPRequestErrorDomain with code 1 and with userInfo {
NSLocalizedDescription = "A connection failure occurred: SSL problem (possibly a bad/expired/self-signed certificate)";
NSUnderlyingError = "Error Domain=NSOSStatusErrorDomain Code=-9807 \"The operation couldn\U2019t be completed. (OSStatus error -9807.)\" UserInfo=0x680fbf0 {}";

有办法解决这个问题吗?非常感谢!

最佳答案

有两种可能的方法:

i) 如果可能的话,修复您/服务器上的证书。 (或者您有可能使用错误的主机名进行连接?在设备上使用 safari 时是否会出现相同的错误?)

这绝对是正确且首选的方法。

或者:

ii) 禁用证书检查:

[request setValidatesSecureCertificate:NO];

禁用证书检查显然不是一个好的永久解决方案。禁用它会消除 https 提供的大量安全性,并使您的应用程序容易遭受中间人 (MITM) 攻击。在调试或使用没有适当证书的测试服务器时,这可能是一个很好的临时解决方案,但从长远来看,您应该解决根本问题,以便服务器的证书有效。

关于iphone - ASIHTTP请求验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3430104/

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