1

このコード行はどのように機能しますか?

これが機能するようにURLを変更しようとしていますが、Appleのドキュメントを見ると、パスワード/URLをどこに置くべきかについてはあまりわかりません。

 NSString *password = [(NSString *)CFURLCopyPassword((CFURLRef)[self.request URL]) autorelease];

このコード行はAFNetworkingフレームワークの一部であるため、認証に合格できます。

パスワードを正しく取得するために、URLはどのように構成されていると思いますか?まだ運がありません。

フロントのusername:passwordに入れてみましたが、正しくありません。パスワードは取得されません。

したがって、基本的にhttp:// userid:password@www.anywhere.com/はこのメソッドを完全にバイパスし、私がやりたいことではありません。

4

2 に答える 2

1

基本的に-一部のURLは、含まれているユーザー名とパスワードで構成されています

http://userid:password@www.anywhere.com/

この形式のURLを関数に渡すと、正しい形式の場合はURLのパスワード部分が返され、(CFSTR(""))そうでない場合は空の文字列が返されます。

同様に、関数を使用してユーザーIDを取得できますCFURLCopyUserName

于 2012-09-27T14:37:05.340 に答える
1

この認証方法の簡単な説明はここにあります。詳細については、URLを説明する適切な標準を探す必要があります。

ページが後で利用できなくなった場合のURLサンプル:ftp://username:password@hostname/

https://developer.apple.com/library/ios/#documentation/Foundation/Reference/NSURLConnectionDelegate_Protocol/Reference/Reference.html

デリゲートがこのメソッドを実装しない場合、デフォルトの実装が使用されます。リクエストの有効なクレデンシャルが URLの一部として提供されている場合、またはNSURLCredentialStorageから入手できる場合、[チャレンジ送信者]には** useCredential:forAuthenticationChallenge:がクレデンシャルとともに送信されます。チャレンジにクレデンシャルがない場合、またはクレデンシャルがアクセスの承認に失敗した場合は、代わりにcontinueWithoutCredentialForAuthenticationChallenge:が[チャレンジ送信者]に送信されます。

于 2012-09-27T14:33:29.747 に答える