3
    NSURL *url = [NSURL URLWithString:@"https://myUrlString.com"];
    NSURLRequest *request = [NSURLRequest requestWithURL:url]; 

    NSURLResponse *responseurl;
    NSError *err;
    NSData *data = [NSURLConnection sendSynchronousRequest:request returningResponse:&responseurl error:&err]; 
    NSLog(@"data length:%u", data.length);
    NSLog(@"response:%@ , error:%@", responseurl, err);

そして、私が得た応答は:-

data length:0
response:(null) , 

error:Error Domain=NSURLErrorDomain Code=-1202 「このサーバーの証明書は無効です。「myUrlString.com」になりすましたサーバーに接続している可能性があり、機密情報が危険にさらされる可能性があります。」UserInfo=0x8742d70 {NSErrorFailingURLStringKey=https:https://myUrlString.com,

NSLocalizedRecoverySuggestion=サーバーに接続しますか?,

NSErrorFailingURLKey=https://myUrlString.com,

NSLocalizedDescription=このサーバーの証明書は無効です。「myUrlString.com」になりすましたサーバーに接続している可能性があり、機密情報が危険にさらされる可能性があります。, NSUnderlyingError=0x8745bf0 " The certificate for this server is invalid. You might be connecting to a server that is pretending to be “myUrlString.com” which could put your confidential information at risk.", NSURLErrorFailingURLPeerTrustErrorKey=}

4

2 に答える 2

2

Https リクエストを使用しているため、ASIHTTPRequest を使用するか、このコードを試すことができます

NSMutableURLRequest *request = [[[NSMutableURLRequest alloc] init] autorelease];

[request setURL:[NSURL URLWithString:@"https:yoururl"]];
[request setHTTPMethod:@"GET"];
[request setValue:postLength forHTTPHeaderField:@"Content-Length"];
[request setValue:@"application/x-www-form-urlencoded" forHTTPHeaderField:@"Content-Type"];
[request setHTTPBody:getData];
于 2012-08-07T10:15:58.393 に答える
1

HTTPS サーバーの信頼の問題を適切に解決するために何をすべきか、さらに重要なこととして何をすべきでないかについては、テクニカル ノート TN2232を参照してください。肝心なのは、信頼の問題を回避するのではなく、サーバーを修正して信頼の問題を解決することを推奨しているということです。

一時的に回避したい場合 (たとえば、診断を実行するために一時的にリクエストをインターセプトする Charles などのツールでテストを行っている場合)、プライベート メソッドを使用してこの検証をオフにすることができます(このコードが App Store に送信されたアプリ内にある場合、プライベート API を使用するために拒否される可能性があることに注意してください)、またはデリゲート メソッドに応答NSURLConnectionできます。

繰り返しになりますが、この重要な警告を回避するコードを配布する場合は十分に注意してください。ただし、アプリのテスト中にそうする必要がある場合は、上記のいずれかの方法が役立ちます。

于 2014-03-26T16:54:06.790 に答える