当前位置:博客首页>>PHP >> 阅读正文

学习CURL之简单实现中国贸易网的登录与信息发送

作者: 郑晓 分类: PHP 发布于: 2012-06-28 08:21 浏览:10,594 没有评论


学习CURL之简单实现中国贸易网的登录与信息发送,最近在做第三方平台的登录与信息同步功能,所以简单学习了下php的curl扩展库,下面是用curl简单实现中国贸易网的登录与供应信息的同步发送类,过程还算比较简单的,第一个方法用curl实现登录,第二个方法是使用第一步得到的cookies实现信息的发送,算是入门级的….

发布信息时的分类目前是写死的,怎么传还是要靠大家了…

login('username','password'); //账号密码
$cntrades->post('这里是标题','这里是内容'); //发送的供应信息标题和内容

class Cntrades {
var $cookieJar= "d:/wwwroot/test.com/cntradecookies.txt"; //定义cookie文件 这里文件名是写死的,也可以用tmpfile函数建立临时文件
var $headerArr = array("User-Agent: Mozilla/5.0 (Windows NT 5.2) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.56 Safari/535.11","Referer: http://www.cntrades.com"); //传递的header头信息
var $login_url = "http://www.cntrades.com/member/login.php"; //登录地址
var $post_url = "http://www.cntrades.com/member/my.php?mid=5&action=add" ; //发布信息地址
var $forward = "http://www.cntrades.com/";

function login($username,$password) {
/*模拟登录表单*/
$data['forward'] = $this->forward;
$data['username'] = $username;
$data['password'] = $password;
$data['cookietime'] = "2592000";
$data['goto'] = '1';
$data['submit'] =' 登 录 ';
$data = http_build_query($data,'&');
$ch = curl_init();
curl_setopt($ch,CURLOPT_URL,$this->login_url);
curl_setopt($ch,CURLOPT_POST,1);
curl_setopt($ch,CURLOPT_POSTFIELDS,$data);
curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt($ch,CURLOPT_COOKIEJAR,$this->cookieJar);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch,CURLOPT_HTTPHEADER,$this->headerArr);
$rs = curl_exec($ch);
curl_close($ch);
unset($ch);
unset($data);
echo strpos($rs,'DZg_auth')?'登录成功!':'登录失败!';
}

function post($title,$content) {
/*模拟供应发布表单*/
$data['action'] = 'add';
$data['mid'] = 5;
$data['itemid'] = 0;
$data['forward'] = $this->forward;
$data['style'] = '';
$data['post[typeid]'] = 0 ;
$data['post[typeid]'] = 0 ;
$data['post[title]'] = $title ;
$data['post[catid]'] = '533' ; //很多字段需要传递,过于复杂就不弄了 这里分类等信息是写死的
$data['post[content]'] = $content;
$data['submit'] = " 提 交 ";
$data = http_build_query($data, '&'); //application/x-www-form-urlencoded OR multipart/form-data
$ch = curl_init();
curl_setopt($ch,CURLOPT_URL,$this->post_url);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch,CURLOPT_COOKIEFILE,$this->cookieJar);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION,1); //是否抓取跳转后的页面
curl_setopt($ch,CURLOPT_HTTPHEADER,$this->headerArr);
$re = curl_exec($ch);
print_r(curl_getinfo($ch));
echo $re;
curl_close($ch);
}
}
?>

       

本文采用知识共享署名-非商业性使用 3.0 中国大陆许可协议进行许可,转载时请注明出处及相应链接。

本文永久链接: https://www.zh30.com/chinese-trade-network-login-information-sent-to-learn-the-simple-implementation-of-curl.html

发表评论

change vcode