【问题标题】:Getting webpage from data object从数据对象获取网页
【发布时间】:2012-04-22 17:32:29
【问题描述】:

我对目标 c 还很陌生,但我正在使用此代码

    NSURL *url = [NSURL URLWithString:@"http://xxx.com"];
NSURLRequest *req = [NSURLRequest requestWithURL:url cachePolicy:NSURLRequestReturnCacheDataElseLoad timeoutInterval:30];
NSURLResponse *resp = nil;
NSData *data = [NSURLConnection sendSynchronousRequest:req returningResponse:&resp error:nil];
NSLog(@"received %???", [data XYZ]);

尝试抓取网页的原始内容。我必须插入什么而不是 XYZ(显然是???),这样我才能打印网站数据。我知道代码会拉下一些数据,因为我可以使用 XYZ = length 来获取传入数据的大小。如果有人可以提供帮助,那就太好了!

(如果有人能另外解释我是如何在苹果文档中找到这个的,那也非常有用)

【问题讨论】:

    标签: objective-c nsdata nsurl


    【解决方案1】:

    我假设您的意思是将 NSData 转换为 NSString 以便您可以打印它?

    你应该使用

    [NSString stringWithData:data encoding:NSUTF8StringEncoding]
    

    从数据中创建一个字符串。请注意,并非所有网站的编码都是 UTF8,因此它可能不会始终产生正确的输出。

    您可以通过浏览在线文档轻松找到这些方法:http://developer.apple.com/library/ios/#documentation/Cocoa/Reference/Foundation/Classes/NSString_Class/Reference/NSString.html

    【讨论】:

    • 我现在有 //init url NSURL *url = [NSURL URLWithString:@"xxx.com"]; //init request NSURLRequest *req = [NSURLRequest requestWithURL:url cachePolicy:NSURLRequestReturnCacheDataElseLoad timeoutInterval:30]; NSURLResponse *resp = nil; //exec request NSData *data = [NSURLConnection sendSynchronousRequest:req returnedResponse:&resp error:nil]; //转换为字符串 NSString *strData; strData = [[NSString alloc]initWithData:data encoding:NSUTF8StringEncoding] ; NSLog(@"received %@", strData); 有效
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-21
    • 2021-07-17
    • 2015-09-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多