需求登录某网站,并提交数据。解决方案curl登录保存cookie,然后提交需要提交的数据
/**
* 登录获取cookie并提交数据
* @author Reaper <369994633@qq.com>
* @param string $login_url 登录URL
* @param string|array $login_data 登录账号密码
* @param string $binding_url 获取cookie后要提交数据的地址
* @param string|array $binding_data 获取cookie后要提交的数据
* @return string
*/
public function bt_addlink($login_url,$login_data,$binding_url,$binding_data){
$login_val = curl_init($login_url);
curl_setopt($login_val,CURLOPT_HEADER,1);
curl_setopt($login_val,CURLOPT_RETURNTRANSFER,1);
curl_setopt($login_val,CURLOPT_POSTFIELDS,$login_data);
$login_go = curl_exec($login_val);
preg_match('/Set-Cookie:(.*);/iU',$login_go,$cookie);
curl_close($login_val);
$binding_val = curl_init($binding_url);
curl_setopt($binding_val,CURLOPT_RETURNTRANSFER,1);
curl_setopt($binding_val,CURLOPT_POSTFIELDS,$binding_data);
curl_setopt($binding_val,CURLOPT_COOKIE,$cookie['1']);
$binding_go = curl_exec($binding_val);
curl_close($binding_val);
return $binding_go;
}
原创文章 未经许可 禁止搬运!
7 条评论
想知道return $url; 的$url是什么。。。应该是$binding_go吧
好像。。。是我打错了
尼玛,你又改错了,不是$binding_val,是$binding_go。
这不是骗你多来评论一下么
用正则获取cookie如果可以把cookie保存下来就更好了
这个就要你们自己来了,我没这个需求 HH ,保存到seesion也好 存文件也可以这个很简单
支持支持OωO