私はアプリを作成しています。 HTTP POSTメソッドを使用してログイン情報を送信しています。サーバーから取得したreplyI'mはHTML形式です。どのようにしてそのHTMLを解析し、継承や失敗のための異なるメソッドを追加できますか?私が達成しようとしているのは、ログインに失敗するとUIAlerViewを使ってメッセージが表示され、ログインに成功すると、アプリケーションはアニメーションでビューを変更する必要があります。 :)HTML応答を解析する - iPhone App
私が今使っているコード:私は、私はHTMLparserクラスを使用し、正確に何をしたか
- (IBAction) loginButton: (id) sender {
indicator.hidden = NO;
[indicator startAnimating];
loginbutton.enabled = NO;
// Create the username and password string.
// username and password are the username and password to login with
NSString *postString = [[NSString alloc] initWithFormat:@"username=%@&password=%@",userName, password];
// Package the string in an NSData object
NSData *requestData = [postString dataUsingEncoding:NSASCIIStringEncoding];
// Create the URL request
NSMutableURLRequest *request = [[NSMutableURLRequest alloc] initWithURL: [NSURL URLWithString:@"http://localhost/dologin.php"]]; // create the URL request
[request setHTTPMethod: @"POST"]; // you're sending POST data
[request setHTTPBody: requestData]; // apply the post data to be sent
// Call the URL
NSURLResponse *response; // holds the response from the server
NSError *error; // holds any errors
NSData *returnData = [NSURLConnection sendSynchronousRequest: request returningResponse:&response error:&error]; // call the URL
/* If the response from the server is a web page, dataReturned will hold the string of the HTML returned. */
NSString *dataReturned = [[NSString alloc] initWithData:returnData encoding:NSASCIIStringEncoding];
alertWithOkButton = [[UIAlertView alloc] initWithTitle:@"Status..." message:[NSString stringWithFormat:@"%@",dataReturned] delegate:self cancelButtonTitle:@"Okay" otherButtonTitles:nil];
[alertWithOkButton show];
[alertWithOkButton release];
}
これは広い質問です。まず第一に、HTMLを解析するのはおそらくここに行く方法ではありません。もしあなたがそれを行うことができれば、SOAPタイプのものが望ましいでしょう。なぜなら、HTMLの変化からログインを分離するほうが良いからです。第2に、裸のパスワードを投稿することは、HTTPSを使用しない限り悪い考えです。第三に、この質問を参照してください:http://stackoverflow.com/questions/405749/parsing-html-on-the-iphone – Robert
ありがとうロバート、私はそれを選択できるように答えとしてこれを投稿してくださいなぜですか? :) –