2010-04-05 87 views
0

我试着通过这个网址是否可以在iPhone上使用用户代理作为Safari请求UIWebView?

http://reader.mac.com/mobile/v1/http%3A%2F%2Ffeeds.feedburner.com%2F9To5Mac-MacAllDay

在我的应用程序请求,同时也返回其提供在iPhone上唯一

如何解决呢?

mycode的

NSMutableURLRequest *urlRequest = [[NSMutableURLRequest alloc] initWithURL: [NSURL URLWithString: myurl]]; 
    [urlRequest setValue: @"iPhone" forHTTPHeaderField: @"Mozilla/5.0 (iPhone; U; CPU iPhone OS 3_0 like Mac OS X; en-us) AppleWebKit/528.18 (KHTML, like Gecko) Version/4.0 Mobile/7A341 Safari/528.16"]; 
    [self.myWebView loadRequest:urlRequest]; 

回答

0

HTTP头字段的名称是用户代理。 试试这个:它加载的URL之前

[urlRequest setValue: @"Mozilla/5.0 (iPhone; U; CPU iPhone OS 3_0 like Mac OS X; en-us) AppleWebKit/528.18 (KHTML, like Gecko) Version/4.0 Mobile/7A341 Safari/528.16" 
     forHTTPHeaderField: @"User-Agent"]; 
+0

感谢MacTouch,但它也无法正常工作,URL返回,我的请求不是从iPhone。 – RAGOpoR 2010-04-06 13:57:20

+0

我自己试了一下。 UIWebView似乎忽略请求标题字段更改。在WebViewDelegate(shouldStartLoadWithRequest)中设置User-Agent-Field或使用忽略User-Agent更改的NSMutableURLRequest的子类不起作用。嗯,不知道还有什么要做。也许你可以将url的内容加载到临时文件中,然后使用file:// url(请参阅UIWebView#loadHTMLString和UIWebView#loadData)将UIWebView指向它所在的位置。 – MacTouch 2010-04-06 19:29:40

+0

再次感谢MacTouch,无论如何,我不知道为什么我只使用FireFox它可以切换用户代理为iPhone,它可以打开该URL。 – RAGOpoR 2010-04-07 02:41:05

相关问题