【原创】PHP curl登录获取cookie 并提交POST数据或获取数据 - 皮皮赖's Blog

Reaper

【原创】PHP curl登录获取cookie 并提交POST数据或获取数据
需求登录某网站,并提交数据。解决方案curl登录保存cookie,然后提交需要提交的数据/** * 登录获取co...
扫描右侧二维码阅读全文
29
2018/05

【原创】PHP curl登录获取cookie 并提交POST数据或获取数据

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

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

最后修改:2018 年 09 月 04 日 03 : 43 AM
如果觉得我的文章对你有用,请随意赞赏

发表评论

7 条评论

  1. 微风

    想知道return $url; 的$url是什么。。。应该是$binding_go吧

    1. Reaper
      @微风

      好像。。。是我打错了

      1. 微风
        @Reaper

        尼玛,你又改错了,不是$binding_val,是$binding_go。

        1. Reaper
          @微风

          这不是骗你多来评论一下么

  2. 用正则获取cookie如果可以把cookie保存下来就更好了

    1. Reaper
      @寒

      这个就要你们自己来了,我没这个需求 HH ,保存到seesion也好 存文件也可以这个很简单

  3. 筱神

    支持支持OωO