3

我实现了以下代码:

NSURL *url = [ NSURL URLWithString:[ NSString stringWithFormat: @"http://www.google.com/search?q=%@", query ] ];
NSURLRequest *request = [ NSURLRequest requestWithURL: url ];

我想从我从上面的 url 收到的内容中提取正文。我尝试过:

NSData *data = [request HTTPBody];

数据变量不返回任何数据?我是否要以正确的方式从请求中提取数据?

谢谢!

4

3 回答 3

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];
于 2009-04-01T18:12:04.843 回答
3

NSURLRequest 只是定义了一个请求——它自己不做任何事情。要实际发出请求,您需要将请求提供给NSURLConnection

此外,如文档中所述,HTTPBody 是随请求发送的数据,而不是响应正文。

于 2009-04-01T18:07:35.697 回答
1

www.eigo.co.uk 上有一篇文章准确地展示了如何执行请求并在字符串变量中获取响应,但您需要的代码块是......

NSString * strResult = [[NSString alloc] initWithData:oResponseData encoding:NSUTF8StringEncoding];

在这里查看文章http://www.eigo.co.uk/iPhone-Submitting-HTTP-Requests.aspx

于 2010-06-29T14:47:08.547 回答