NSData *data = [[NSData alloc] initWithContentsOfURL:url];
网址是一个NSURL,它运行正常。但是我想在登录后获取HTML(数据)。
因此,该网站有一种标准方式,即使用2个文本框和表单上的提交操作登录。
那么我如何登录然后获取HTMl源代码以便我可以解析它。我是否必须使用NSData以外的其他东西?
答案 0 :(得分:1)
我认为您想通过带有NSURLConnection的POST提交表单。你必须调整它以匹配表单,但它应该像
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];