需求登录某网站,并提交数据。解决方案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;
} 

原创文章 未经许可 禁止搬运!

最后修改:2023 年 07 月 25 日
您的赞赏是对我最大的支持。