|
本文实例讲述了PHP实现登录搜狐广告获取广告联盟数据的方法。分享给大家供大家参考,具体如下:
一直有一个想法,每次都要登录去看联盟昨天收益多少?每天都要登录和麻烦,能不能做一个汇总发邮件的功能呢?
可惜了,验证码绕不过去,只能想一个办法。先在服务器手动打一次验证码,然后在通过定时器,每隔10分钟请求一个页面
这样的话Cookies就不会失效,,然后每周只需要跟我汇总数据就Ok了。。
远程提交表单的原理,可以参考:PHP基于curl后台远程登录正方教务系统的方法
参考的代码还是一样的如下
获取验证码Code.php
define("SITE_PATH", $_SERVER['DOCUMENT_ROOT']);
$LoginUrl = "http://union.sogou.com/";
$url = $LoginUrl."validateCode";
$filedir = SITE_PATH."/TMP/Cookies";
$cookie_file = $filedir."/cookie.txt";
if(!mkdirs($filedir))
{
echo "目录创建失败";
exit;
}
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HEADER, 0); //不返回header部分
curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)");
curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie_file);
//curl_setopt($ch, CURLOPT_REFERER, "http://125.89.69.234");
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch, CURLOPT_TIMEOUT, "10");
$response = curl_exec($ch);
curl_close($ch);
header("Content-type:image/gif");
echo $response;
//创建目录
function mkdirs($dir)
{
if(!is_dir($dir))
{
if(!mkdirs(dirname($dir))){
return false;
}
if(!mkdir($dir,0777)){
return false;
}
}
return true;
}
|
|