NSURLConnection在iOS设备上重定向,但不在模拟器上重定向

时间:2010-10-28 19:38:27

标签: iphone objective-c ios nsurlconnection nsurlrequest

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

1 个答案:

答案 0 :(得分:0)

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