1

当我向特定网站发出请求时,我会在模拟器上获得所需的 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 工作,这意味着默认响应是桌面版本。

4

1 回答 1

0

结果 Mobile Safari 将在模拟器中自动重定向/重新协商 http->https,但不会在设备上执行此操作。

于 2010-10-29T20:42:03.620 回答