php登录抓取网页指定内容( 2.使用用户代理:如果不添加这些处理的话模拟登录时)

优采云 发布时间: 2021-10-22 20:17

  php登录抓取网页指定内容(

2.使用用户代理:如果不添加这些处理的话模拟登录时)

  

curl_setopt($curl, curlopt_ssl_verifypeer, false);

curl_setopt($curl, curlopt_ssl_verifyhost, false);

  2. 使用用户代理:

  

$useragent = 'mozilla/4.0 (compatible; msie 7.0; windows nt 6.0; slcc1; .net clr 2.0.50727; .net clr 3.0.04506; .net clr 3.5.21022; .net clr 1.0.3705; .net clr 1.1.4322)';

curl_setopt($curl, curlopt_useragent, $useragent);

  注意:如果不添加这些处理,模拟登录是无法成功的。

  使用上述程序模拟登录网站一般是成功的,但实际上还是需要针对模拟登录网站的具体情况具体考虑。例如:有些网站编码不同,所以抓取的页面是乱码,则需要进行编码转换,如: $data = iconv("gb2312", "utf-8",$data ) ;, 将 gbk 编码转换为 utf8 编码。还有一些网站对安全性要求比较高,比如网银,会把验证码放在inline frame里面。这时候需要先抓取inline frame的页面,从中提取验证。验证码地址,然后去抢验证码。还有一些网站 (如网银)即在js代码中提交表单。在提交表单之前,会进行一些处理,比如加密等,所以如果直接提交,是无法登录成功的。提交前必须做类似的处理,但是这种情况下,如果你能知道js代码中进行的具体操作,比如加密,加密算法是什么,你可以和它做同样的处理,然后去提交数据,这也可以成功。然而,关键点来了。如果你不知道它执行什么操作,比如它被加密了,但是你不知道具体的加密算法,那么你就无法进行同样的操作,也就无法模拟成功。已登录。这方面的典型案例是网上银行,在js代码中提交表单之前使用网银控件处理用户提交的密码和验证码,但是我们不知道它在做什么,因此无法模拟。所以如果你看完这篇文章就觉得可以模拟登录网银,那你就太天真了。人家银行的网站能这么容易被你模拟出来吗?当然,如果能破解网银控制,那就另当别论了。话虽如此,为什么我的感觉如此深刻?因为我遇到过这个问题。不说的话,说多了会哭的。. . 所以如果你看完这篇文章就觉得可以模拟登录网银,那你就太天真了。人家银行的网站能这么容易被你模拟出来吗?当然,如果能破解网银控制,那就另当别论了。话虽如此,为什么我的感觉如此深刻?因为我遇到过这个问题。不说的话,说多了会哭的。. . 所以如果你看完这篇文章就觉得可以模拟登录网银,那你就太天真了。人家银行的网站能这么容易被你模拟出来吗?当然,如果能破解网银控制,那就另当别论了。话虽如此,为什么我的感觉如此深刻?因为我遇到过这个问题。不说的话,说多了会哭的。. .

  更多对php相关内容感兴趣的读者可以查看本站专题:《php curl用法总结》、《php网络编程技巧总结》、《php数组(数组)操作技巧大全》、《php字符串(string)用法》 《总结》、《php数据结构与算法教程》、《php编程算法总结》、《php操作及算子使用总结》、《php常用数据库操作技巧总结》

  希望这篇文章对你的php编程有所帮助。

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线