[PHP] PHP Curl 模拟POST 可以https

[复制链接]
admin 发表于 2021-5-27 22:38:09 | 显示全部楼层 |阅读模式

登录后,购买下载资源更方便!

您需要 登录 才可以下载或查看,没有账号?立即注册

×
  1. function vpost($url,$data,$cookie){ // 模拟提交数据函数
    : r  ~% E# u! x3 d, h/ |- O  D
  2.     $curl = curl_init(); // 启动一个CURL会话
    : z3 a8 M" N$ D* F- f1 ]' J1 D
  3.     curl_setopt($curl, CURLOPT_URL, $url); // 要访问的地址: z' l9 \7 j- E* P5 w+ M
  4.     curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, 0); // 对认证证书来源的检查  a2 h6 z/ x+ R  c
  5.     curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 1); // 从证书中检查SSL加密算法是否存在
    4 {2 }1 Y# Z( A( v! M/ c2 N
  6.     curl_setopt($curl, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']); // 模拟用户使用的浏览器
    , y3 C, Y2 G8 d
  7.     curl_setopt($curl, CURLOPT_COOKIE, $cookie);
    7 _" x7 ~$ A  P5 L9 ?" Q
  8.     curl_setopt($curl, CURLOPT_REFERER,'https://www.baidu.com');// 设置Referer
    2 _9 Q) }8 s. G, P( s. K0 O% B4 `
  9.     curl_setopt($curl, CURLOPT_POST, 1); // 发送一个常规的Post请求
    . ~  O$ B. n- P+ Z0 t
  10.     curl_setopt($curl, CURLOPT_POSTFIELDS, $data); // Post提交的数据包
    + V! L% B* z+ V6 |2 K% k
  11.     curl_setopt($curl, CURLOPT_TIMEOUT, 30); // 设置超时限制防止死循环: @0 l/ G5 p0 o+ p% K' R
  12.     curl_setopt($curl, CURLOPT_HEADER, 0); // 显示返回的Header区域内容3 ~) y# V; r* q* O: E3 M" C
  13.     curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); // 获取的信息以文件流的形式返回
    $ n& s  Z# t2 f' ~( Q4 b4 |
  14.     $tmpInfo = curl_exec($curl); // 执行操作
    : q2 d" C3 C3 c/ W/ y- {+ F  ^% ]
  15.     if (curl_errno($curl)) {% f: \" L- V* ]* Q& l7 [0 n7 c% G4 W
  16.        echo 'Errno'.curl_error($curl);//捕抓异常
    # i1 C9 o9 Q$ [) P2 R
  17.     }
    4 F4 M, [8 q4 K( I6 k# n( [% T) l
  18.     curl_close($curl); // 关闭CURL会话+ ?5 S8 y$ n, c9 k! I
  19.     return $tmpInfo; // 返回数据
    7 }) x% L; Z! y9 b( O+ d
  20. }
复制代码

% K  G0 h* ]! z- b: i  I4 b5 g" b! Q( E* a: ^: h  e
评论0

手机版|小黑屋|源码模版|全球支付|VISA信用卡|MASTER信用卡|科恒数字网-持续研发、集成、交付、运营方案资源库

GMT+8, 2026-5-26 07:14 , Processed in 0.051680 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.