抓取php的curl常用的5个例子

curl_init  时间:2021-04-19  阅读:()

PHP的curl常用的5个例子curl_setopt($ch,CURLOPT_URL,http://localho st/mytest/phpinfo.phpcurl_setopt($ch,CURLOPT_HEADER,false);curl_setopt($ch,CURLOPT_RETURNTRANSFER, 1);//如果把行注掉的就会直接出$result=curl_exec($ch);curl_close($ch);

2使用代理行抓取

什要使用代理行抓取呢以google例吧 如果去抓google的数据 短 内抓的很繁的你就抓取不到了 。google你的ip地址做限制个候你可以代理重新抓。?p hp

$ch=curl_init();curl_setopt($ch,CURLOPT_URL,http://blog.51 yip.comcurl_setopt($ch,CURLOPT_HEADER,false);curl_setopt($ch,CURLOPT_RETURNTRANSFER, 1);curl_setopt($ch,CURLOPT_HTTPPROXYTUNNEL,TRUE);curl_setopt($ch,CURLOPT_PROXY, 125.21.23.6:8080);

//url_setopt($ch,CURLOPT_PROXYUSERPWD, ‘user:password’);如果要密的 加上个$result=curl_exec($ch);curl_close($ch);

3 post数据后抓取数据

独一下数据提交数据 因用curl的候很多候会有数据交互的所以比重要的。?p hp

$ch=curl_init();

/*在里需要注意的是要提交的数据不能是二数或者更高

*例如array(‘name’=s erializ e(array(‘tank’,’zhang’)),’s ex’=1,’b irth’=‘20101010’)

*例如array(‘name’=array(‘tank’,’zhang’),’s ex’=1,’b irth’=‘20101010’) 会 的*/

$data=array(‘name’=‘te st’,’s ex’=1,’b irth’=‘20101010’);curl_setopt($ch,CURLOPT_URL,’http://localho st/mytest/curl/upload.php’);curl_setopt($ch,CURLOPT_POST, 1);curl_setopt($ch,CURLOPT_POSTFIELDS,$data);curl_exec($ch);

在upload.php文件中 print_r($_PO ST);利用curl就能抓取出upload.php 出的内容Array( [name]=te st [s ex]=1 [b irth]=20101010)

4抓取一些有面 控制的面

以前写一篇 面 控制的3 方法有趣的可以看一下。

如果用上面提到的方法抓的会以下

You are not authorized to view this page

Youdonot have permission to view this directoryorpage using the credentials that you suppliedbecause your Web browser is sending a WWW-Authenticate header field that the Web server isnot configured to accept.

个候 我就要用CURLOPT_USERPWD来行 了

?p hp

$ch=curl_init();curl_setopt($ch,CURLOPT_URL,http://club-china

/*CURLOPT_USERPWD主要用来破解面 控制的

*例如平我所以htpasswd生面控制等。*/

//curl_setopt($ch,CURLOPT_USERPWD, ‘231144:2091 XTAjmd=‘);curl_setopt($ch,CURLOPT_HTTPGET, 1);curl_setopt($ch,CURLOPT_REFERER,http://club-chinacurl_setopt($ch,CURLOPT_HEADER,0);

$result=curl_exec($ch);curl_close($ch);

5模登到s ina

我要抓取数据 可能是登以后的内容 个候我就要用到curl的模登功能了 。?p hpfunctionchecklogin($user,$password)if(emptyempty($user) | |emptyempty($password) )return0;

$ch=curl_init( );curl_setopt($ch,CURLOPT_REFERER,http://mail.sina.com.cn/index.htmlcurl_setopt($ch,CURLOPT_HEADER, true);curl_setopt($ch,CURLOPT_RETURNTRANSFER, true);curl_setopt($ch,CURLOPT_USERAGENT,USERAGENT);curl_setopt($ch,CURLOPT_COOKIEJAR,COOKIEJAR);curl_setopt($ch,CURLOPT_TIMEOUT,TIMEOUT);curl_setopt($ch,CURLOPT_URL,http://mail.sina.com.cn/cgi-bin/login.cgicurl_setopt($ch,CURLOPT_POST, true);curl_setopt($ch, CURLOPT_POSTFIELDS, logintype=uid u= .urlencode($user). psw= .$password);

$contents=curl_exec($ch);curl_close($ch);if( !preg_match(/Location: (.*)\\/cgi\\/index\\.php\\?check_time=(.*)\n/ ,$contents,$matches) )return0;

}else{

return 1;define(USERAGENT,$_SERVER[‘HTTP_USER_AGENT’] );define(COOKIEJAR, tempnam(/tmp,cookie) );define(TIMEOUT,500);echochecklogin(zhangying215,xtaj 227

打/tmp下面的co okie文件看一下

#Netscape HTTP Cookie File

#http://curl.haxx.s e/rfc/cookie_spec.html

#This file was generated by libcurl!Edit at your own risk.mail.sina.com.cn FALSE / FALSE 0 SINAMAIL-WEBFACE-SESSID65223c4bd8900284ed463d2a3e1 ac182

#HttpOnly_.sina.com.cn TRUE / FALSE 0 SUE es%3D8d96db0820c6c79922ad57d422f575e8%26ev

%3Dv0%26es2%3Dcddfb8400dc5ca95902367ddcd7f57dd

.sina.com.cn TRUE / FALSE 0 SUP cv%3D1%26bt%3D1286900433%26et%3D1286986833%26lt%3D1%26uid%3D1445632344%26user%3D%25E5%25BC

%25A0%25E6%2598%25A02001%26ag%3D2%26name%3Dzhangying20015%2540sina.com%26nick%3D%25E5%25BC%25A0%25E6%2598%25A02001%26sex%3D1%26ps

%3D0%26email%3Dzhangying20015%2540sina.com%26dob%3D 1982-07-18

#HttpOnly_.sina.com.cn TRUE / FALSE 0 SID BihcallomxMx-QZxzGrOlcSQx%2F0B%2F0cmr.NyQ%2F0B%2FcmGGalmarlmcHrcGl Smrmxmfxal_CBZ

%2F_afugCmmGirBYHm0Bc%40fr5ciZiGG5i

#HttpOnly_.sina.com.cn TRUE/FALSE 0 SPRIAL bfb4102951 fd5892a3fd5b42d442cd26#HttpOnly_.sina.com.cn TRUE/FALSE 0 SINA_USER%D5%C5%D2001

打开海外主机域名商出现"Attention Required"原因和解决

最近发现一个比较怪异的事情,在访问和登录大部分国外主机商和域名商的时候都需要二次验证。常见的就是需要我们勾选判断是不是真人。以及比如在刚才要访问Namecheap检查前几天送给网友域名的账户域名是否转出的,再次登录网站的时候又需要人机验证。这里有看到"Attention Required"的提示。我们只能手工选择按钮,然后根据验证码进行选择合适的标记。这次我要选择的是船的标识,每次需要选择三个,一...

Friendhosting全场VDS主机45折,虚拟主机4折,老用户续费9折

Friendhosting发布了今年黑色星期五促销活动,针对全场VDS主机提供45折优惠码,虚拟主机4折,老用户续费可获9折加送1个月使用时长,优惠后VDS最低仅€14.53/年起,商家支持PayPal、信用卡、支付宝等付款方式。这是一家成立于2009年的老牌保加利亚主机商,提供的产品包括虚拟主机、VPS/VDS和独立服务器租用等,数据中心可选美国、保加利亚、乌克兰、荷兰、拉脱维亚、捷克、瑞士和波...

ManSora:英国CN2 VPS,1核/1GB内存/10GB SSD/1TB流量/100Mbps/KVM,$18.2/月

mansora怎么样?mansora是一家国人商家,主要提供沪韩IEPL、沪日IEPL、深港IEPL等专线VPS。现在新推出了英国CN2 KVM VPS,线路为AS4809 AS9929,可解锁 Netflix,并有永久8折优惠。英国CN2 VPS,$18.2/月/1GB内存/10GB SSD空间/1TB流量/100Mbps端口/KVM,有需要的可以关注一下。点击进入:mansora官方网站地址m...

curl_init为你推荐
菏泽市牡丹区实验小学主机route大学生就业信息获取与信息分析participants37人才ipad空调iphone奶粉ios8win10关闭445端口如何进入注册表修改关闭445端口itunes备份itunes 里面的资料如何备份?win7如何关闭445端口如何判断445端口是否关闭
rackspace 贵州电信宽带测速 info域名 服务器cpu性能排行 华为4核 工作站服务器 刀片式服务器 可外链网盘 qq云端 鲁诺 linux使用教程 服务器论坛 万网注册 大化网 免费获得q币 西部数码主机 性能测试工具 装修瓦工招聘 最好的空间留言 关闭qq空间申请 更多