我实现了以下代码:
NSURL *url = [ NSURL URLWithString:[ NSString stringWithFormat: @"http://www.google.com/search?q=%@", query ] ];
NSURLRequest *request = [ NSURLRequest requestWithURL: url ];
我想从我从上面的网址收到的内容中提取身体。我试过了:
NSData *data = [request HTTPBody];
data 变量不会返回任何数据?我是否正在以正确的方式从请求中提取数据?
谢谢!
答案 0 :(得分:6)
如果您只想尝试获取网页,可以使用此功能。
NSURL *url = [ NSURL URLWithString: [ NSString stringWithFormat: @"http://www.google.com"] ];
NSString *test = [NSString stringWithContentsOfURL:url];
如果您真的想从NSData转换数据,可以使用:
NSString *myString = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
答案 1 :(得分:3)
NSURLRequest只定义一个请求 - 它本身不做任何事情。要实际发出请求,您需要将请求发送给NSURLConnection。
此外,如documentation所示,HTTPBody是随请求一起发送的数据,而不是响应正文。
答案 2 :(得分:1)
www.eigo.co.uk上有一篇文章,其中详细说明了如何处理请求并在字符串变量中获取响应,但您需要的代码块是......
NSString * strResult = [[NSString alloc] initWithData:oResponseData encoding:NSUTF8StringEncoding];
查看此处的文章http://www.eigo.co.uk/iPhone-Submitting-HTTP-Requests.aspx