Установите referer , используя - setValue: forHTTPHeaderField:
NSMutableURLRequest* request = ...;
[request setValue:@"https://myapp.com" forHTTPHeaderField: @"Referer"];
Но обратите внимание, что в соответствии с HTTP RFC вы не должны этого делать, потому что ваше приложение не адресуется с помощью URI:
Поле Referer НЕ ДОЛЖНО отправляться, если был получен Request-URI
из источника, который не имеет своего собственного URI, такого как ввод из
клавиатура пользователя.
... если вы не используете собственный протокол, связанный с вашим приложением (myapp: //blah.com/blah).
Вы можете создать один и вызвать loadRequest: вручную или перехватить обычный запрос, сделанный пользователем.
- (BOOL) webView:(UIWebView*)webView shouldStartLoadWithRequest:(NSURLRequest*)request navigationType:(UIWebViewNavigationType) navigationType
{
NSDictionary *headers = [request allHTTPHeaderFields];
BOOL hasReferer = [headers objectForKey:@"Referer"]!=nil;
if (hasReferer) {
// .. is this my referer?
return YES;
} else {
// relaunch with a modified request
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
dispatch_async(dispatch_get_main_queue(), ^{
NSURL *url = [request URL];
NSMutableURLRequest* request = [NSMutableURLRequest requestWithURL:url cachePolicy:NSURLRequestUseProtocolCachePolicy timeoutInterval:60.0];
[request setHTTPMethod:@"GET"];
[request setValue:@"https://whatever.com" forHTTPHeaderField: @"Referer"];
[self.webView loadRequest:request];
});
});
return NO;
}
}