当我向特定网站发出请求时,我会在模拟器上获得所需的 XML 响应,但我会在设备上获得重定向页面。我认为这是因为它检测到我正在使用移动浏览器(通过 Mobile Safari 会出现类似的结果),但我将请求的用户代理字符串设置为我的笔记本电脑浏览器的 UA 并将其余部分置空(我也尝试仅设置 UA):
NSMutableURLRequest* request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:url]
cachePolicy:NSURLRequestUseProtocolCachePolicy
timeoutInterval:60.0];
[request setAllHTTPHeaderFields:[NSDictionary dictionaryWithObject:@"Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.6; en-US; rv:1.9.2.11) Gecko/20101012 Firefox/3.6.11" forKey:@"User-Agent"]];
NSURLConnection* _connection = [[NSURLConnection alloc] initWithRequest:request delegate:self];
该网站如何仍然检测到我正在使用移动浏览器?相同的 GET 通过零信息的 telnet 工作,这意味着默认响应是桌面版本。