0

ユーザーがUITextField内にユーザー名とパスワードを入力し、AFNetworkingを使用してログインしたアプリ内でInstapaper(http://www.instapaper.com/user/login )にログインしたい場合、これをどのように達成しますか?

この方法と関係がありますか?http://afnetworking.github.com/AFNetworking/Classes/AFHTTPClient.html#//api/name/postPath:parameters:success:failure

基本的に、クレデンシャルを取得し、Instapaperにログインしてから、読み込まれるWebサイトを操作します。

上記の方法の場合、「ユーザー名」->「」および「パスワード」->」などのパラメーターにNSDictionaryを使用しますか?そして、応答はログイン後に表示されるページのHTML(私が探しているもの)ですか?

私はネットワーキングに慣れていないので、これを実現するためにAFNetworkingをどのように使用するかについて少し混乱しています。

4

1 に答える 1

4

AFHTTPRequestOperationのバリアントを使用AFHTTPClientします。ユーザー名とパスワードをパラメーターとして送信する場合は、次のようにNSDictionaryに追加し、パラメーターとして送信します。それ以外の場合は、本文で送信する場合はformDataとして送信できます。

NSMutableDictionary *parameters = [NSMutableDictionary dictionary];
 [parameters setObject:username.text forKey:@"username"];
 [parameters setObject:password.text forKey:@"password"];   

AFHTTPClient  *afHttpClient = [AFHTTPClient clientWithBaseURL:[NSURL URLWithString:@"http://yourbaseURL"]];

NSMutableURLRequest *request = [afHttpClient multipartFormRequestWithMethod:@"POST" path:@"/pathifAny" parameters:parameters constructingBodyWithBlock:^(id <AFMultipartFormData>formData)
                                        {
                                        // here you can send as body if you not setting as parameters
                                        [formData appendPartWithFormData:[username.text dataUsingEncoding:NSUTF8StringEncoding] name:@"username"];
                                        [formData appendPartWithFormData:[password.text dataUsingEncoding:NSUTF8StringEncoding] name:@"password"];

                                        }];



AFHTTPRequestOperation  *afHttpReqOperation = [[AFHTTPRequestOperation alloc] initWithRequest:request];

これがGET/POSTに関する簡単なチュートリアルです

于 2013-03-27T14:35:58.863 に答える