科恒数字网

标题: PHP Curl 模拟POST 可以https [打印本页]

作者: admin    时间: 2021-5-27 22:38
标题: PHP Curl 模拟POST 可以https
  1. function vpost($url,$data,$cookie){ // 模拟提交数据函数
    * v4 g$ ?( S# M9 o
  2.     $curl = curl_init(); // 启动一个CURL会话& y0 K+ I1 U7 r  p6 L* v) ?
  3.     curl_setopt($curl, CURLOPT_URL, $url); // 要访问的地址
    5 T0 J5 Z9 g( S% r0 j1 {+ Q4 w# E
  4.     curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, 0); // 对认证证书来源的检查
    5 ]$ B7 j) B9 P; P8 N, {/ B& [
  5.     curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 1); // 从证书中检查SSL加密算法是否存在
    , M; J' w9 B, O5 k! J8 ?  I: Y
  6.     curl_setopt($curl, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']); // 模拟用户使用的浏览器
    8 g# W# d+ n( x
  7.     curl_setopt($curl, CURLOPT_COOKIE, $cookie);
    " m5 p; r, C5 ^, H0 N  w3 x( a0 B) _+ V
  8.     curl_setopt($curl, CURLOPT_REFERER,'https://www.baidu.com');// 设置Referer
    ' q0 k" B% V- I& l0 l  Q4 O
  9.     curl_setopt($curl, CURLOPT_POST, 1); // 发送一个常规的Post请求9 Y# `7 i8 J( A0 M2 E% X6 N% `
  10.     curl_setopt($curl, CURLOPT_POSTFIELDS, $data); // Post提交的数据包( z% T6 X& \( U
  11.     curl_setopt($curl, CURLOPT_TIMEOUT, 30); // 设置超时限制防止死循环8 |& _' e! H8 c' J0 ~1 E
  12.     curl_setopt($curl, CURLOPT_HEADER, 0); // 显示返回的Header区域内容" F4 k" _1 b; H6 J; v( b
  13.     curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); // 获取的信息以文件流的形式返回9 ^% d0 x6 Q& M7 d" U* y
  14.     $tmpInfo = curl_exec($curl); // 执行操作
    * b  K6 R6 Q9 @
  15.     if (curl_errno($curl)) {; V; L: M$ _' q2 g, d
  16.        echo 'Errno'.curl_error($curl);//捕抓异常
    6 c+ u1 y3 l* b2 g
  17.     }
    9 l) Z  \( V) A0 c
  18.     curl_close($curl); // 关闭CURL会话
    : e* S; t. m! b8 V
  19.     return $tmpInfo; // 返回数据
    4 x9 }7 @- w7 u
  20. }
复制代码
7 N2 A+ T% O5 f- \+ a4 g6 o8 g
" ^7 w  }0 |; e, e$ y8 D4 v





欢迎光临 科恒数字网 (https://www.khcic.com/) Powered by Discuz! X3.5