iPhone用户代理



我正在使用以下方法在通用iOS应用程序中获取内容:

NSString stringWithContentsOfURL: [ NSURL URLWithString: link ]

。这是否会将iPhone/iPad用户的IP和User-Agent发送到其从中获取内容的服务器?

我需要它至少发送用户代理,以便我可以检测它是 iPhone 还是 iPad 并相应地优化内容。

您可以使用下面的代码,通过手动指定要使用的用户代理来确保设备正在发送用户代理。

修改引用自: https://stackoverflow.com/a/1533032/716216

if ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPad)
{
    NSString* userAgent = @"Mozilla/5.0 (iPad; U; CPU OS 3_2 like Mac OS X; en-us) AppleWebKit/531.21.10 (KHTML, like Gecko) Version/4.0.4 Mobile/7B334b Safari/531.21.10";
    NSURL* url = [NSURL URLWithString:@"http://www.myWebSite.com/"];
    NSMutableURLRequest* request = [[[NSMutableURLRequest alloc] initWithURL:url]
                                    autorelease];
    [request setValue:userAgent forHTTPHeaderField:@"User-Agent"];
    NSURLResponse* response = nil;
    NSError* error = nil;
    NSData* data = [NSURLConnection sendSynchronousRequest:request
                                         returningResponse:&response
                                                     error:&error];
}

注意:我列出的示例用户代理可能已经过时,您可能需要找到更新的用户代理。

最新更新