curl模拟登入用PHP开发模拟浏览器的套用,所使用的函式馆为CURL()函式馆。
当然,模拟登入也可以採用fsockopen函式,然后深入去学习http协定,写出标準的http头信息,过麻烦的地方就出在标準。如果对http协定标準认识不深,经常会因碰到少了一个空格或者少了一个换行符号而debug很久。
模拟浏览器登入套用开发,最关键的地方是突破登入验证。CURL不只支持http,还支持https。区别就在多了一层SSL加密传输。如果是要登入https网站,php记得要支持openssl。
开发了一系列免费信箱的导出用户自己联繫人的功能,包括国内外知名邮 箱,163,sina,sohu,yahoo,hotmail,gmail,qq mail等。还开发了一些方便用户嵌入代码到各大部落格,个人门户的套用。比如嵌入flash代码到Qzone,网易的blog,百度的个人门户等。
//用户名$login=‘username’;//密码$password=‘password’;//163的用户登入地址$url=“https://reg.163/logins.jsp”;//post要提交的数 $fields= “verifycookie=1&style=16&product=mail163&username=”.$login.”&password=”.$password.”&selType=jy&remUser=&secure=on&%B5%C7%C2%BC%D3%CA%CF%E4=%B5%C7%C2%BC%D3%CA%CF%E4″;//用来存放cookie的档案$cookie_file=dirname(__FILE__).”/cookie.txt”;//启动一个CURL会话$ch=curl_init();//要访问的地址curl_setopt($ch,CURLOPT_URL,$url);//对认证证书来源的检查,0表示阻止对证书的合法性的检查。curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,0);//从证书中检查SSL加密算法是否存在curl_setopt($ch,CURLOPT_SSL_VERIFYHOST,1);//模拟用户使用的浏览器,在HTTP请求中包含一个”user-agent”头的字元串。curl_setopt($ch,CURLOPT_USERAGENT,“Mozilla/4.0(compatible;MSIE6.0;WindowsNT5.0)”);//传送一个常规的POST请求,类型为:application/x-www-form-urlencoded,就像表单提交的一样。curl_setopt($ch,CURLOPT_POST,1);//要传送的所有数据,如果要传送一个档案,需要一个@开头的档案名称curl_setopt($ch,CURLOPT_POSTFIELDS,$fields);//连线关闭以后,存放cookie信息的档案名称称curl_setopt($ch,CURLOPT_COOKIEJAR,$cookie_file);//包含cookie信息的档案名称称,这个cookie档案可以是Netscape格式或者HTTP风格的header信息。curl_setopt($ch,CURLOPT_COOKIEFILE,$cookie_file);//设定curl允许执行的最长秒数//curl_setopt($ch,CURLOPT_TIMEOUT,6);//获取的信息以档案流的形式返回,而不是直接输出。curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);//执行操作$result=curl_exec($ch);if($result==NULL){echo“Error:“;echocurl_errno($ch).”–”.curl_error($ch).”“;}//关闭CURL会话curl_close($ch);
本文发布于:2023-03-26 01:45:22,感谢您对本站的认可!
本文链接:http://www.ranqi119.com/to/1679971582241914.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |