1

そのWebサイトに自動的にログインして、UIWebViewにWebサイトをロードしようとしています。ユーザー名とパスワードを投稿しています。Webサイトをロードしますが、ログインしていません。ログインが機能していません。何か案が?

NSURL *url = [NSURL URLWithString:@"http://www.abc.com"];

        NSString *post = [NSString stringWithFormat:@"login_name=%@&login_password=%@&submit=Login", @"abc", @"abc"];
        NSData *postData = [post dataUsingEncoding:NSUTF8StringEncoding allowLossyConversion:YES];

        NSString *postLength = [NSString stringWithFormat:@"%d", [postData length]];
        NSLog(@"POST Length = %@",postLength);
        NSMutableURLRequest *request = [[NSMutableURLRequest alloc] init] ;
        [request setURL:url];
        [request setHTTPMethod:@"POST"];
        [request setValue:postLength forHTTPHeaderField:@"Content-Length"];
        [request setValue:@"application/x-www-form-urlencoded charset=utf-8" forHTTPHeaderField:@"Content-Type"];
        [request setHTTPBody:postData];
        [request setTimeoutInterval:5.0];
         [webView loadRequest:request];
4

2 に答える 2

1

との間にセミコロンがないために失敗している可能性がapplication/x-www-form-urlencodedありcharset=utf-8ますか?

application/x-www-form-urlencoded;charset=UTF-8それが役立つかどうか試してみてください。

于 2013-02-20T15:33:10.937 に答える
0

Webビューをロードするためのコードを使用してサンプルアプリを作成しました。フォーム送信で特定のページを呼び出すと、Webサービスにログインできます。私はここにコードを投稿しています:

NSString *username = @"abc";
NSString *password = @"abc";
NSString *postString = [NSString stringWithFormat:@"username=%@&password=%@",username, password];
NSLog(@"%@", postString);
NSData *postData = [postString dataUsingEncoding:NSUTF8StringEncoding allowLossyConversion:YES];

NSMutableURLRequest *request = [[NSMutableURLRequest alloc] init];
[request setURL:[NSURL URLWithString:@"http://www.someurl.com/loginscript"]];
[request setHTTPMethod:@"POST"];
[request setHTTPBody:postData];
[webView loadRequest:request];

多分このコードはあなたを助けるでしょう。

于 2013-02-20T13:32:02.480 に答える