2012-03-29 4 views
0

ich ein Versuch, auf eine einfache Web-Seite anmelden i gemacht, u haben den Code in einem - (IBAction) {}Anmelden bei Website mit asihttprequest

Wenn ich drücken Sie die Taste angenommen wird, um die Daten zu erhalten

hier ist mein Code

-(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]); 

} 

Wenn ich es laufen, gibt sie 0 (null) i in der Header-Datei gesucht asihttprequest und das bedeutet keine Authentifizierung erforderlich? Aber es gibt ein Login auf dieser Website.

Im in einem Benutzernamen und Passwort setzen ich es einfach nur knapp sein Ziel Liste hier

+3

Sie könnten die Bedeutung von ‚asynchronen‘ Nachschlag wollen ;-) – JosephH

Antwort

1

Rewrite-Code wie folgt und Bingo ....

-(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]); 
} 

Während Sie machen bitten Sie, bis Anfrage Finish warten müssen obwohl Sie eine asynchrone Anfrage machen, weil es Login-Informationen sind und Sie warten müssen, bis die Antwort kommt.

+0

Wenn ich versuche, dass ich aufgrund nicht abgefangene Ausnahme ‚NSInvalidArgumentException‘ beenden app erhalten Grund: ‚- [ASIFormDataRequest Antwort]: Unbekannter Selektor zum Beispiel – Huntaz556

+0

Leider gesendet abt sollte es [responseString] sein. Ich habe meine Antwort aktualisiert. Bitte überprüfen Sie es noch einmal. –

+0

Okay gut, wenn ich das mache, zeigt es nur den HTML-Code für die Login-Seite an, aber es loggt sich nicht ein – Huntaz556