有什麼辦法在iPhone上的Safari上欺騙用戶代理?欺騙iPhone上的嵌入式Safari瀏覽器的用戶代理?
因此,例如,您將在iPhone上創建一個具有嵌入式Safari瀏覽器的應用程序,但用戶使用此瀏覽器訪問的任何網站都不會知道您是在iPhone上的Safari上,它會認爲您處於例如PC上的Safari,甚至IE/FireFox。
謝謝
有什麼辦法在iPhone上的Safari上欺騙用戶代理?欺騙iPhone上的嵌入式Safari瀏覽器的用戶代理?
因此,例如,您將在iPhone上創建一個具有嵌入式Safari瀏覽器的應用程序,但用戶使用此瀏覽器訪問的任何網站都不會知道您是在iPhone上的Safari上,它會認爲您處於例如PC上的Safari,甚至IE/FireFox。
謝謝
是的我認爲你可以改變這一點。這需要一些工作來解決問題。
您需要手動管理所有請求。通過自己的數據請求。 在這個數據請求中,您可以爲User-Agent添加一個HTTPheader,它將覆蓋默認標題。
NSMutableURLRequest * urlRequest = [[[[NSMutableURLRequest alloc] initWithURL:requestURL] autorelease];
[urlRequest setHTTPMethod: @"POST"];
[urlRequest setHTTPBody: [nvpString dataUsingEncoding:NSUTF8StringEncoding]];
[urlRequest addValue:@"Your+User+Agent+String" forHTTPHeaderField:@"User-Agent"];
receivedData = [[NSMutableData alloc] retain];
[receivedData setLength:0];
[NSURLConnection connectionWithRequest: urlRequest delegate: self];
如果您將Safari Web瀏覽器嵌入到應用程序中,則可以訂閱其委託方法。其中一人會通知你的應用程序,Safari瀏覽器想要加載一個URL,這是你抓住這個負載並獲取你自己的數據的地方。
- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType{
現在你把你的代碼放在這裏來做數據加載。
數據加載完成後。將它的數據字符串返回給webView。我已經設置了「baseURL:nil」,但是您可能必須正確設置這個應用程序的正確域名。
[webView的loadHTMLString:newString基本URL:無]
出於好奇,爲什麼你要這麼做? – zpesk 2009-07-07 22:11:09
因爲你想看到一個網站的完整版本,而不是癱瘓的移動版本。 – Fantius 2009-10-08 16:39:23