смени пользовательский агент навсегда - PullRequest
3 голосов
/ 27 июля 2011

Мне удалось изменить пользовательский агент с помощью

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

NSMutableURLRequest *req = (NSMutableURLRequest *)request;
NSString *versionString = [[NSBundle mainBundle] objectForInfoDictionaryKey:(NSString*)kCFBundleVersionKey];

NSLog(@"user agent = %@", [req valueForHTTPHeaderField: @"User-Agent"]);

if ([req valueForHTTPHeaderField:@"User-Agent"] != NULL) {

    [req setValue:[NSString stringWithFormat:@"%@ %@", versionString, [req valueForHTTPHeaderField:@"User-Agent"]] forHTTPHeaderField:@"User-Agent"];
    NSLog(@"user agent = %@", [req valueForHTTPHeaderField: @"User-Agent"]);

   return YES
    }
}

Но когда я захожу на этот сайт на устройстве http://whatsmyuseragent.com/ мой пользовательский агент не изменился.Есть ли способ сменить user-agent на добро?

Ответы [ 4 ]

1 голос
/ 21 февраля 2012

После долгой игры я обнаружил, что вы можете изменить User Agent без рута .Не уверен, поможет ли это вам, если вы создаете приложение.

0 голосов
/ 07 октября 2011

Я заметил, что симулятор сообщает ноль при тестировании время от времени. Я не уверен, намеренно ли это или намеренно.

0 голосов
/ 07 октября 2011

Вы можете изменить значение пользовательского агента при выполнении «ручного» * ​​1001 * с, но я не думаю, что вы можете изменить их в UIWebView.

Причиной являются значения, которыеПереданные в метод, который вы показываете выше, не являются изменяемыми - вы не можете изменить их и ожидать, что остальная часть приложения «примет» изменения.Честно говоря, я удивлен, что приведение NSURLRequest к изменяемому варианту с последующим его изменением не привело к сбою приложения.

0 голосов
/ 28 июля 2011

Вы не можете изменить пользовательский агент, отображаемый в Safari, только тот, который используется вашим собственным приложением.

...