1. ホーム
  2. ios

[解決済み] iOSにおけるNSURLConnectionとHTTP基本認証

2023-05-21 07:55:58

質問

私は、初期 GET HTTP request を基本的な Authentication . これはリクエストがサーバーに送信される最初の回となり、私はすでに username & password を持っているので、認証のためにサーバからチャレンジを受ける必要はありません。

最初の質問です。

  1. NSURLConnection は、Basic Authを行うためにsynchronousに設定されていなければならないのでしょうか?このサイトの回答によると ポスト の回答によると、非同期のルートを選ぶとBasic Authができないようです。

  2. のBasic Authを説明するサンプルコードをご存知の方はいらっしゃいますか? GET request において、チャレンジ・レスポンスを必要としない Basic Auth を説明するサンプルコードをご存知の方はいらっしゃいますか? Appleのドキュメント は例を示していますが、サーバーがクライアントにチャレンジリクエストを発行した後です。

私はSDKのネットワーキング部分については初心者なので、これを動作させるために他のどのクラスを使用すべきなのかがわかりません。(私は NSURLCredential クラスがありますが、これは NSURLAuthenticationChallenge と共にのみ使用されるようです。)

どのように解決するのですか?

非同期接続で MGTwitterEngine で認可を設定し NSMutableURLRequest ( theRequest ) のようにします。

NSString *authStr = [NSString stringWithFormat:@"%@:%@", [self username], [self password]];
NSData *authData = [authStr dataUsingEncoding:NSASCIIStringEncoding];
NSString *authValue = [NSString stringWithFormat:@"Basic %@", [authData base64EncodingWithLineLength:80]];
[theRequest setValue:authValue forHTTPHeaderField:@"Authorization"];

私はこの方法がチャレンジループを通過する必要があるとは思っていませんが、私は間違っているかもしれません