iOS WebView獲取title, ip,對(duì)webview頁(yè)面截圖抓取萎津,修改UA電腦網(wǎng)頁(yè)與手機(jī)網(wǎng)頁(yè)切換

UIWebView十分適合冬日里讓手機(jī)給取暖

創(chuàng)建UIWebView?

獲取頁(yè)面的名稱

webtitle = [self.webView stringByEvaluatingJavaScriptFromString:@"document.title"];

獲取當(dāng)前頁(yè)面的ip地址

NSString *hostname = _domainStr;

調(diào)用此方法應(yīng)是傳入域名铸敏,當(dāng)前頁(yè)面url獲取不到

CFHostRef hostRef = CFHostCreateWithName(kCFAllocatorDefault, (__bridge CFStringRef)hostname);

if (hostRef)

{

Boolean result = CFHostStartInfoResolution(hostRef, kCFHostAddresses, NULL);

if (result == TRUE)

{

NSArray *addresses = (__bridge NSArray*)CFHostGetAddressing(hostRef, &result);

tempDNS = [[NSMutableArray alloc] init];

for(int i = 0; i < addresses.count; i++)

{

struct sockaddr_in* remoteAddr;

CFDataRef saData = (CFDataRef)CFArrayGetValueAtIndex((__bridge CFArrayRef)addresses, i);

remoteAddr = (struct sockaddr_in*)CFDataGetBytePtr(saData);

if(remoteAddr != NULL)

{

const char *strIP41 = inet_ntoa(remoteAddr->sin_addr);

NSString *strDNS =[NSString stringWithCString:strIP41 encoding:NSASCIIStringEncoding];

//? NSLog(@"RESOLVED %d:<%@>", i, strDNS);

[tempDNS addObject:strDNS];

}}}}

修改uesr-agent ?電腦網(wǎng)頁(yè)與手機(jī)網(wǎng)頁(yè)的切換

NSDictionary*dictionnary = [[NSDictionary alloc] initWithObjectsAndKeys:@"Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.0; Trident/5.0)", @"UserAgent", nil];

[[NSUserDefaults standardUserDefaults] registerDefaults:dictionnary]稚配;

修改UA瀏覽電腦網(wǎng)頁(yè)楞卡。此方法需在loadRequest前調(diào)用 否則無(wú)效

NSDictionary*dictionnary = [[NSDictionary alloc] initWithObjectsAndKeys:@"Mozilla/5.0 (iPhone; CPU iPhone OS 9_3_2 like Mac OS X) AppleWebKit/601.1.46 (KHTML, like Gecko) Mobile/13F69", @"UserAgent", nil];[[NSUserDefaults standardUserDefaults] registerDefaults:dictionnary];

修改UA瀏覽手機(jī)網(wǎng)頁(yè)唆樊。此方法需在loadRequest前調(diào)用 否則無(wú)效

對(duì)webview全頁(yè)面進(jìn)行抓取宛琅,主要是對(duì)webview中scrollview的抓取

首先在抓取頁(yè)面時(shí),先將webView.scrollView置為初始逗旁。setScalesPageToFit = yes之前設(shè)置了自適應(yīng)

[webView.scrollView setZoomScale:self.webView.scrollView.minimumZoomScale animated:YES];

[webView.scrollView setContentOffset:CGPointMake(0, 0) animated:YES];

對(duì)webview頁(yè)面進(jìn)行繪制圖片

- (UIImage *)snapshotViewFromRect:(CGRect)rect withCapInsets:(UIEdgeInsets)capInsets {

CGFloat scale = [UIScreen mainScreen].scale;

CGSize boundsSize = self.webView.bounds.size;

CGFloat boundsHeight = boundsSize.height;

CGSize contentSize = self.webView.scrollView.contentSize;

CGFloat contentHeight = contentSize.height;

CGFloat contentWidth = contentSize.width;

CGPoint offset = self.webView.scrollView.contentOffset;

[self.webView.scrollView setContentOffset:CGPointMake(0, 0)];

NSMutableArray *images = [NSMutableArray array];

while (contentHeight > 0) {

preMemory = [self usedMemory];//監(jiān)控內(nèi)存

UIGraphicsBeginImageContextWithOptions(boundsSize, NO, [UIScreen mainScreen].scale);

[self.webView.layer renderInContext:UIGraphicsGetCurrentContext()];

UIImage *image = UIGraphicsGetImageFromCurrentImageContext();

UIGraphicsEndImageContext();

[images addObject:image];

CGFloat offsetY = self.webView.scrollView.contentOffset.y;

[self.webView.scrollView setContentOffset:CGPointMake(0, offsetY + boundsHeight)];

contentHeight -= boundsHeight;

}

[self.webView.scrollView setContentOffset:offset];

CGSize imageSize = CGSizeMake(contentSize.width * scale,contentSize.height * scale);

UIGraphicsBeginImageContext(imageSize);

[images enumerateObjectsUsingBlock:^(UIImage *image, NSUInteger idx, BOOL *stop) {

[image drawInRect:CGRectMake(0,scale * boundsHeight * idx,scale * boundsWidth,scale * boundsHeight)];}];

UIImage *fullImage = UIGraphicsGetImageFromCurrentImageContext();

UIGraphicsEndImageContext();

UIImageView * snapshotView = [[UIImageView alloc]initWithFrame:CGRectMake(rect.origin.x, rect.origin.y, rect.size.width, rect.size.height)];

snapshotView.image = [fullImage resizableImageWithCapInsets:capInsets];

[self handleActivityStop];

return snapshotView.image;

}網(wǎng)頁(yè)過(guò)大會(huì)引起內(nèi)存爆炸,生成的圖片在40M以內(nèi)沒(méi)問(wèn)題

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末嘿辟,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌红伦,老刑警劉巖英古,帶你破解...
    沈念sama閱讀 212,332評(píng)論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異昙读,居然都是意外死亡召调,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,508評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門箕戳,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)某残,“玉大人,你說(shuō)我怎么就攤上這事陵吸。” “怎么了介牙?”我有些...
    開(kāi)封第一講書(shū)人閱讀 157,812評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵壮虫,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我环础,道長(zhǎng)囚似,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 56,607評(píng)論 1 284
  • 正文 為了忘掉前任线得,我火速辦了婚禮饶唤,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘贯钩。我一直安慰自己募狂,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,728評(píng)論 6 386
  • 文/花漫 我一把揭開(kāi)白布角雷。 她就那樣靜靜地躺著祸穷,像睡著了一般。 火紅的嫁衣襯著肌膚如雪勺三。 梳的紋絲不亂的頭發(fā)上雷滚,一...
    開(kāi)封第一講書(shū)人閱讀 49,919評(píng)論 1 290
  • 那天透硝,我揣著相機(jī)與錄音篮迎,去河邊找鬼。 笑死蚓挤,一個(gè)胖子當(dāng)著我的面吹牛商源,可吹牛的內(nèi)容都是我干的车份。 我是一名探鬼主播,決...
    沈念sama閱讀 39,071評(píng)論 3 410
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼炊汹,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼躬充!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 37,802評(píng)論 0 268
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤充甚,失蹤者是張志新(化名)和其女友劉穎以政,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體伴找,經(jīng)...
    沈念sama閱讀 44,256評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡盈蛮,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,576評(píng)論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了技矮。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片抖誉。...
    茶點(diǎn)故事閱讀 38,712評(píng)論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖衰倦,靈堂內(nèi)的尸體忽然破棺而出袒炉,到底是詐尸還是另有隱情,我是刑警寧澤樊零,帶...
    沈念sama閱讀 34,389評(píng)論 4 332
  • 正文 年R本政府宣布我磁,位于F島的核電站,受9級(jí)特大地震影響驻襟,放射性物質(zhì)發(fā)生泄漏夺艰。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,032評(píng)論 3 316
  • 文/蒙蒙 一沉衣、第九天 我趴在偏房一處隱蔽的房頂上張望郁副。 院中可真熱鬧,春花似錦豌习、人聲如沸存谎。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,798評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)愕贡。三九已至,卻和暖如春巷屿,著一層夾襖步出監(jiān)牢的瞬間固以,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,026評(píng)論 1 266
  • 我被黑心中介騙來(lái)泰國(guó)打工嘱巾, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留憨琳,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 46,473評(píng)論 2 360
  • 正文 我出身青樓旬昭,卻偏偏與公主長(zhǎng)得像篙螟,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子问拘,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,606評(píng)論 2 350

推薦閱讀更多精彩內(nèi)容