2012-03-29 6 views
0

でウェブサイトにログインする私は私が作った簡単なWebページにログオンしようとすると、uは、コードを持っている - 私はデータを取得することになっているボタンを押すと(IBACTION){}asihttprequest

ここ

は私のコード

-(IBAction)fetchData:(id)sender { 
NSURL *url = [NSURL URLWithString:@"http://rssit.site90.com/login.php"]; 
ASIFormDataRequest *request = [ASIFormDataRequest requestWithURL:url]; 
[request setRequestMethod:@"POST"]; 
[request addPostValue:@"" forKey:@"username"]; 
[request addPostValue:@"" forKey:@"password"]; 


[request setDelegate:self]; 
[request startAsynchronous]; 
NSLog(@"%d, %@", request.responseStatusCode, [request responseString]); 

} 

私はそれを実行し、それは0を返し、(ヌル)私はasihttprequest用のヘッダファイルを見て、それは認証が必要ないことを意味しているのですか?しかし、そのウェブサイトにはログインがあります。

イムは、ユーザー名とパスワードを入れて、私のリストにそれをちょうどdidntはここ

+3

;-) – JosephH

答えて

1

書き換えコードは次のとビンゴ....あなたが作るものの

-(IBAction)fetchData:(id)sender 
{ 
    NSURL *url = [NSURL URLWithString:@"http://rssit.site90.com/login.php"]; 
    ASIFormDataRequest *request = [ASIFormDataRequest requestWithURL:url]; 
    [request setRequestMethod:@"POST"]; 
    [request addPostValue:@"" forKey:@"username"]; 
    [request addPostValue:@"" forKey:@"password"]; 
    [request setDelegate:self]; 
    [request startAsynchronous]; 

    //Add finish or failed selector 
    [request setDidFinishSelector:@selector(requestLoginFinished:)]; 
    [request setDidFailSelector:@selector(requestLoginFailed:)]; 

    NSLog(@"%d, %@", request.responseStatusCode, [request responseString]); 

} 

- (void)requestLoginFinished:(ASIHTTPRequest *)request 
{ 
//Check response of request here and act accordingly 
NSString *yourResponse = [request responseString]; //corrected here please change it to responseString 
//Parse above response and check it. 
} 


- (void)requestLoginFailed:(ASIHTTPRequest *)request 
{ 
//some error was there processing request 
//Check error 
NSError *error = [request error]; 
NSLog(@"Failed ---> %@",[error localizedDescription]); 
} 

はあなたが要求フィニッシュまで待つ必要がある要求としてログイン情報であり、応答が来るまで待つ必要があるため、非同期要求を行っています。あなたは「非同期」の意味を検索したい場合があります

+0

私がキャッチされない例外により「NSInvalidArgumentException」、理由にアプリを終了受けることをしようとすると:「 - [ASIFormDataRequest応答]:認識されていないセレクタは申し訳ありません – Huntaz556

+0

インスタンスに送信それは[responseStringを要求する]必要があります。私は私の答えを更新しました。再度確認してください。 –

+0

これは、ログインページのhtmlコードを表示するだけですが、ログインしていないのです。 – Huntaz556