Получение исходного кода HTML (NSData) с веб-сайта, который требует входа (iphone) - PullRequest
1 голос
/ 03 мая 2010
NSData *data = [[NSData alloc] initWithContentsOfURL:url];

Url является NSURL и работает нормально. Однако я хотел бы получить HTML (данные) после того, как я вошел в систему.

Таким образом, на веб-сайте есть стандартный способ входа в систему с двумя текстовыми полями и действием отправки в форме.

Итак, как мне войти в систему и получить исходный код HTMl, чтобы я мог его проанализировать. Должен ли я использовать что-то кроме NSData?

1 Ответ

1 голос
/ 03 мая 2010

Я думаю, что вы хотите отправить форму через POST с NSURLConnection. Вам нужно будет настроить это, чтобы соответствовать форме, но это должно быть что-то вроде

    NSString *reqURL = [NSString stringWithFormat:@"%@/login",SERVER_URL];

    NSMutableURLRequest *req = [[NSMutableURLRequest alloc]initWithURL:[NSURL URLWithString:reqURL]];
    [req setValue:@"application/x-www-form-urlencoded" forHTTPHeaderField:@"content-type"];


    NSData *myRequestData = [NSData dataWithBytes:[@"username=whatever&password=whatever" UTF8String] length: [@"username=whatever&password=whatever" length]];
    [req setHTTPMethod: @"POST"];
    [req setHTTPBody: myRequestData];
    NSData *returnData = [NSURLConnection sendSynchronousRequest:req returningResponse: nil error: nil];
    NSString *html = [[NSString alloc] initWithData:returnData encoding:NSUTF8StringEncoding];
...