Парсинг защищен паролем HTML

Я просто хочу получить источник (строку) со страницы после того, как я вошел в систему. Когда я нажимаю кнопку входа в систему, он дает мне источник первой страницы (страницу входа в систему). Результат одинаков, независимо от того, правильно ли я ввел пароль. Ваша помощь будет высоко ценится.

`- (IBAction) buttonPressed: (id) отправитель {

// PERFORM LOGIN
url = [NSURL URLWithString:@"https://www.page asking username and password/"]; 
ASIFormDataRequest *request = [ASIFormDataRequest requestWithURL:url];
[request setRequestMethod:@"POST"];
[request setPostValue:userName.text forKey:@"UserID"];
[request setPostValue:password.text forKey:@"Password"];
[request setDelegate:self];

[request setDidFailSelector:@selector(PostFailed:)];
[request setDidFinishSelector:@selector(PostFinished:)];
[request startSynchronous];

}

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


}

- (void)PostFinished:(ASIHTTPRequest *)theRequest

{
// получить здесь ваши данные ответа на сообщение...

// ATTEMPT TO ACCESS ACCOUNT SUMMARY DATA
url = [NSURL URLWithString:@"https://www.page after I loged in"]; 
ASIHTTPRequest *mainRequest = [ASIHTTPRequest requestWithURL:url]; 

[theRequest setDelegate:self];
[mainRequest startAsynchronous]; 


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

} `

1 ответ

Решение

Скорее всего, сайт, который вы пытаетесь получить, аутентифицирует вас, используя Cookies, Так как вы делаете необработанные HTTP-запросы, а куки не сохраняются от вашего имени, вы всегда будете перенаправлены на страницу входа в систему, поскольку вы всегда будете оставаться не прошедшими проверку подлинности.

Чтобы получить доступ к другим сайтам, вам нужно будет использовать обработку cookie в вашем коде.

Другие вопросы по тегам