0

iPhoneアプリからウェブサイトへのログインに問題があります。これはhttpsなので、SSLで保護されたサイトです。残念ながら、ログに記録しようとするとエラーメッセージが表示されます。そして、私はこのエラーを修正するために何をすべきかわかりません。

ここにエラーメッセージがあります:

2012-08-20 13:38:56.490 Login_2[330:f803] IN GETFILELIST: (null)
2012-08-20 13:38:56.903 Login_2[330:f803] ERROR: (null)
2012-08-20 13:38:56.914 Login_2[330:f803] ERROR!: 
Error Domain=NSURLErrorDomain Code=-1200 "An SSL error has occurred and a secure connection to the server cannot be made." UserInfo=0x6ab9ac0 {NSErrorFailingURLStringKey=https://www.remote.sokratherm.de:80/?content=tableau&tableau=1, NSLocalizedRecoverySuggestion=Would you like to connect to the server anyway?, NSErrorFailingURLKey=https://www.remote.sokratherm.de:80/?content=tableau&tableau=1, NSLocalizedDescription=An SSL error has occurred and a secure connection to the server cannot be made., NSUnderlyingError=0x6abea00 "An SSL error has occurred and a secure connection to the server cannot be made."}

ここにコード:

NSString *apiPath = [NSString stringWithFormat:@"https://%@:%@/", hostServer, hostPort];

httpClient = [[AFHTTPClient alloc] initWithBaseURL:[NSURL URLWithString:apiPath]];
[httpClient setAuthorizationHeaderWithUsername:hostUser password:hostPass];

NSMutableURLRequest *request = [httpClient requestWithMethod:@"POST" path:@"index.php" parameters:nil];
AFHTTPRequestOperation *operation = [[AFHTTPRequestOperation alloc] initWithRequest:request];

さらに情報が必要な場合はお問い合わせください。私はどんな助けにも満足しています。

グリーツ。

4

2 に答える 2

2

サーバーwww.remote.sokratherm.deはポート 80 で SSL を使用して実行されていないようです。そのポートを指定するつもりでしたか? :80そうでない場合は、リクエスト URL から を削除してください。

于 2012-08-20T11:58:31.900 に答える
1

次の 2 つの方法を確認する必要があります。

[operation setAuthenticationAgainstProtectionSpaceBlock:^BOOL(NSURLConnection *connection, NSURLProtectionSpace *protectionSpace)
{
    //return YES or NO according to information received in 
    //objects *connection* and *protectionSpace*
}];

そしてこれ:

[operation setAuthenticationAgainstProtectionSpaceBlock:^BOOL(NSURLConnection *connection, NSURLProtectionSpace *protectionSpace)
{
    **if ([challenge.protectionSpace.host isEqualToString:@"YOURHOST"])**
    {
        [[challenge sender] useCredential:[NSURLCredential credentialWithUser:@"YOURUSER" password:@"YOURPASSWORD" persistence:NSURLCredentialPersistenceNone] forAuthenticationChallenge:challenge];
}
}];
于 2012-08-20T11:56:22.923 に答える