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
最近发现一个比较怪异的事情,在访问和登录大部分国外主机商和域名商的时候都需要二次验证。常见的就是需要我们勾选判断是不是真人。以及比如在刚才要访问Namecheap检查前几天送给网友域名的账户域名是否转出的,再次登录网站的时候又需要人机验证。这里有看到"Attention Required"的提示。我们只能手工选择按钮,然后根据验证码进行选择合适的标记。这次我要选择的是船的标识,每次需要选择三个,一...
Friendhosting发布了今年黑色星期五促销活动,针对全场VDS主机提供45折优惠码,虚拟主机4折,老用户续费可获9折加送1个月使用时长,优惠后VDS最低仅€14.53/年起,商家支持PayPal、信用卡、支付宝等付款方式。这是一家成立于2009年的老牌保加利亚主机商,提供的产品包括虚拟主机、VPS/VDS和独立服务器租用等,数据中心可选美国、保加利亚、乌克兰、荷兰、拉脱维亚、捷克、瑞士和波...
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...