1

こんにちは、資格情報としてユーザー名とパスワードを使用するサーバーに接続しようとしています..以下は私が使用しているコードです。NSString post =[[NSString alloc] initWithFormat:@"userName=*&password=* "]; NSURL url=[NSURL URLWithString:@"** * *** "];

NSData *postData = [post dataUsingEncoding:NSASCIIStringEncoding allowLossyConversion:YES];

NSString *postLength = [NSString stringWithFormat:@"%d", [postData length]];

NSMutableURLRequest *request = [[[NSMutableURLRequest alloc] init] autorelease];
[request setURL:url];
[request setHTTPMethod:@"POST"];
[request setValue:postLength forHTTPHeaderField:@"Content-Length"];
[request setValue:@"application/x-www-form-urlencoded" forHTTPHeaderField:@"Content-Type"];
[request setHTTPBody:postData];
NSLog(@"request:%@",request);
     urlConnection = [[NSURLConnection alloc] initWithRequest:request delegate:self];

ここでの問題は、サーバーがユーザーに無効なメッセージを出していることです.しかし、私が与えている資格情報は問題ありません.このユーザー名とパスワードはリクエストオブジェクトに含まれていません..どなたか助けてください..

4

2 に答える 2

0

次のように、ユーザー名をリクエストヘッダーオブジェクトに追加します。

[request addValue:@"<username>" forKey:@"<username parameter>"]
于 2012-05-28T09:56:46.280 に答える
0

ユーザー名とパスワードを保持する文字列から始める必要があります。これにより、http POST 本文が形成されます。username_input_field と password_input_field を Web サーバーの正しい入力フィールド名に置き換える必要があります。私のアドバイスは、Firefox と httpFox 拡張機能を使用して Web サーバーにログインすることです。httpFox は、リクエストのすべての入力フィールド名を表示します。追加する必要がある追加の非表示フィールドがある場合もあります。

NSString *post = [NSString stringWithFormat:
    @"username_input_field=%@&password_input_field=%@",username,password]; 
于 2012-05-24T14:47:10.430 に答える