是否有任何方式欺骗用户代理野生动物园在iPhone上?

因此,例如,你将创造一个应用程序在iPhone上已嵌入式Safari浏览器,但是任何网站的用户访问这个的浏览器就不会知道你们在野生动物园在iPhone上,它将为你是什么样的野生动物园在一个电脑,或者甚至IE/FireFox。

感谢

有帮助吗?

解决方案

是的我认为你可以改变这一点。这将需要一些周围的工作得到它的工作。

  1. 你需要手动管理的所有请求。通过使自己的数据的请求。在这些数据的请求你可以添加一个HTTPheader对于用户代理,这将复盖默认的标题。

    NSMutableURLRequest*urlRequest=[[[NSMutableURLRequest分配]initWithURL:requestURL]自动释放];

    [urlRequest setHTTPMethod: @"POST"];
    [urlRequest setHTTPBody: [nvpString  dataUsingEncoding:NSUTF8StringEncoding]];
    [urlRequest addValue:@"Your+User+Agent+String" forHTTPHeaderField:@"User-Agent"];
    receivedData = [[NSMutableData alloc] retain];
    [receivedData setLength:0];
    
    [NSURLConnection connectionWithRequest: urlRequest delegate: self];
    
  2. 如果你嵌入野生动物网络浏览器在你的程序,你可以订阅其代表的方法。他们中的一个将通知应用程序,safari想载入一个网址,这是哪儿你抓住这个负载和获得的数据。

    - (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType{
    

    现在你把你的代码在这里做数据的负荷。

  3. 一旦数据加载。给它的数据串回webView。我已经设置"baseURL:零"但你可能已经正确地设定,这也许正确的领域为这个程序。

    [webView loadHTMLString:newString baseURL:零]

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top