Разбор ответа для iPhone с помощью ASIHTTPRequest - PullRequest
0 голосов
/ 03 ноября 2011

Я пытаюсь получить доступ к веб-сайту, используя свои учетные данные для входа в систему через приложение для iPhone, но NSLog просто показывает сайт с экраном входа в систему ... Мне нужен один ПОСЛЕ экрана входа в систему. Мой код выглядит следующим образом:

- (IBAction)buttonClicked:(id)sender
{
    ASIFormDataRequest *request = [ASIFormDataRequest requestWithURL:[NSURL URLWithString:@"http://webportal.factorforms.com/Portal/Form_Login.aspx"]];

    [request setPostValue:[self.usernameField text] forKey:@"Login1$UserName"];
    [request setPostValue:[self.passwordField text] forKey:@"Login1$Password"];

    [request setDelegate:self];
    [request startAsynchronous];
}

- (void)requestFailed:(ASIHTTPRequest *)request {
    NSLog(@"Request failed: %@",[request error]);
}

- (void)requestFinished:(ASIHTTPRequest *)request {
    NSLog(@"Submitted form successfully");
    NSLog(@"Response was:");
    NSLog(@"%@",[request responseString]);
}

Мой ответ - просто экран входа в систему .... Я думал, что получу javascript для своего реального входа в систему. Я не уверен, что я делаю не так.

Ответы [ 2 ]

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

Я столкнулся с подобными проблемами при попытке связаться с сайтами .NET, и мне помогло выполнение следующих действий:

  1. , включая значение сообщения для самой кнопки отправки, например

    [request setPostValue: @ "Login" forKey: @ "Login1 $ LoginButton"];

  2. включая значение сообщения для состояния просмотра страницы, поскольку я думаю, что это может бытьподтверждено в некоторых установках:

    1012 * NSString * ViewState = @ "/ wEPDwUKMjE0MjI5NDA3Ng9kFgICBA9kFgYCAQ9kFgQCAQ88KwAKAQAPFgIeCFVzZXJOYW1lZWRkAgcPFgIeB1Zpc2libGVoZAIDDxYCHwFoZAIFDxYCHgNzcmMFFkxvZ2luRnJhbWUvRkFDVE9SLmFzcHhkGAEFHl9fQ29udHJvbHNSZXF1aXJlUG9zdEJhY2tLZXlfXxYBBRdMb2dpbjEkTG9naW5JbWFnZUJ1dHRvbitnh1yDOsbCwQpF6Ic5hi0OUJ4q"; 1014 * [запрос setPostValue: VIEWSTATE forKey: @ "__ VIEWSTATE"];

Из памяти я выбросил все три из них вПосле этого проблема и мой вход в систему были успешными, но я действительно должен был потратить время на выяснение, все ли три были необходимы.

0 голосов
/ 04 ноября 2011

Может быть ваш сайт после входа в систему имеет несколько перенаправлений? Вы должны разобрать это тоже. ASIHttp может сделать это. [Просто мнение.]

...