100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > 使用PHP curl模拟浏览器抓取网站信息

使用PHP curl模拟浏览器抓取网站信息

时间:2018-07-02 14:43:51

相关推荐

使用PHP curl模拟浏览器抓取网站信息

php教程|php手册

PHP,curl

php教程-php手册

官方解释

curl是一个利用URL语法在命令行方式下工作的文件传输工具。curl是一个利用URL语法在命令行方式下工作的文件传输工具。

它支持很多协议:FTP, FTPS, HTTP, HTTPS, GOPHER, TELNET, DICT, FILE 以及 LDAP。curl同样支持HTTPS认证,HTTP POST方法, HTTP PUT方法, FTP上传, kerberos认证, HTTP上传, 代理服务器, cookies, 用户名/密码认证, 下载文件断点续传,

上载文件断点续传, http代理服务器管道( proxy tunneling), 甚至它还支持IPv6, socks5代理服务器, 通过http代理服务器上传文件到FTP服务器等等,功能十分强大。

车辆系统源码,复制不能在ubuntu,tomcat发布到局域网,pvc爬虫箱制作,学习php怎么样交流,谷歌seo忽悠lzw

curl讲解一

网贷超市源码下载,ubuntu 添加新磁盘,tomcat8找不到数据源,爬虫提取标签内容,如何正确学习php视频教程交流,群发内容seolzw

PHP中curl函数应用

简单的来说一共四步

curl_init();

curl_setopt();

curl_exec();

curl_close();

药品采购系统源码,手机ubuntu字体设置,tomcat服务器搭建作用,爬虫网页post重构,扣丁学堂php怎么样,seo实例教学lzw

最重要的命令就是 curl_setopt();

一个简单的post请求例子

index.php

复制代码 代码如下:

<?php

$url = “/curl/login.php”; //请求的url地址

$user = “zkg111”; //用户名

$pass = “123456”;

$postdata = “user_name=”.$user.”&password=”.$pass; //请求的数据,以 & 符号分割

$curl = curl_init(); //开启curl

curl_setopt($curl, CURLOPT_URL, $url); //设置请求地址

curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); //是否输出 1 or true 是不输出 0 or false输出

curl_setopt($curl, CURLOPT_POST, 1); //是否使用post方法请求

curl_setopt($curl, CURLOPT_POSTFIELDS, $postdata); //post数据

echo $data = curl_exec($curl); //执行curl操作

curl_close($curl);

?>

下面一个简单的例子,我随便打开了兄弟连的论坛,接着就模拟了一下兄弟连论坛的登陆,如果需要发帖的话原理都是一样的,转接页面,提交数据

特别注意的是cookie的保存目录 windows7下面必须是在./temp目录下,开始我自己创建了一个新文件夹,发现存是对的,但是cookie读取的时候不对,为此还在好多地方

提问,但是没有回答对的,折腾了好几天该了保存文件为./temp目录下才可以的,提醒别的朋友别和我一样瞎转

复制代码 代码如下:

<?php

$url = “/login.php”;

$urls = “”;

$lgt = 0;

$user = “XXXX”;

$pass = “XXXX”;

$question = 0;

$hideid = 1;

$cookie_file = tempnam(‘./temp’,’cookie’);

$postdata = “forward=&jumpurl=”.$urls.”&step=2&lgt=”.$lgt.”&pwuser=”.$user.”&pwpwd=”.$pass.”&question=”.$question.”&answer=&hideid=”.$hideid;

$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, $url);

curl_setopt($ch, CURLOPT_HEADER, 0);

curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

curl_setopt($ch, CURLOPT_POST, 1);

curl_setopt($ch, CURLOPT_POSTFIELDS, $postdata);

curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie_file);

curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);

$data = curl_exec($ch);

curl_close($ch);

//echo $data;

$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, ‘/’);

curl_setopt($ch, CURLOPT_HEADER, 0);

curl_setopt($ch, CURLOPT_RETURNTRANSFER, 0);

curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie_file);

curl_exec($ch);

curl_close($ch);

?>

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。