ASIHttpRequest логин пустой ответ - PullRequest
0 голосов
/ 11 февраля 2012

У меня есть запрос, я бы использовал ASIHttpRequest, для этой страницы, как я могу это сделать?

            <form method="post" action="Login.jsp">
            <fieldset>
                <legend>Insert</legend>
                    <ul>
                        <li><label for="username">User</label><input maxlength="10" id="user" name="username" value=""></li>
                        <li><label for="password">Password</label><input maxlength="16" type="password" id="pwd" name="password" value="" ></li>
                        <li id="errore"> error</li>
                        <li><input type="submit" id="go" value="enter"></li>

                    </ul>
            </fieldset>
            </form>

Я сделал это:

ASIFormDataRequest *request = [ASIFormDataRequest requestWithURL:[NSURL URLWithString:@"url....Login.jsp"]];
[request setRequestMethod:@"POST"];
[request setPostValue:@"user" forKey:@"username"];
[request setPostValue:@"pass" forKey:@"password"];

[request setDelegate:self];
[request startSynchronous];

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

но я получаю: Ответ 0 ==> (ноль)
Я также использовал [request setValidatesSecureCertificate: NO];
где ошибка? И я также хочу прочитать страницу, которая дает мне войти. Спасибо!

1 Ответ

0 голосов
/ 11 февраля 2012

Вы должны получить ответ и данные ответа от Делегата ...

Вот ваш код:

ASIFormDataRequest *request = [ASIFormDataRequest requestWithURL:[NSURL URLWithString:@"url....Login.jsp"]];

[request setRequestMethod:@"POST"];
[request setPostValue:@"user" forKey:@"username"];
[request setPostValue:@"pass" forKey:@"password"];
[request setDelegate:self];
[request setDidFailSelector:@selector(PostFailed:)];
[request setDidFinishSelector:@selector(PostFinished:)];

[request startSynchronous];

и в свой основной файл добавить 2 метода делегата:

- (void)PostFailed:(ASIHTTPRequest *)theRequest
{
    //notify user
    UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Error" message:@"Error sending request to the server" delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil];
    [alert show];
    [alert release];
}

- (void)PostFinished:(ASIHTTPRequest *)theRequest
{  
    //get here your post response data...

    NSLog(@"Response %d ==> %@", theRequest.responseStatusCode, [theRequest responseString]);
}
...