[PHP] PHP Curl 模拟POST 可以https

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

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

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

×
  1. function vpost($url,$data,$cookie){ // 模拟提交数据函数
    % h5 p# ~4 k3 h" ^) G( r
  2.     $curl = curl_init(); // 启动一个CURL会话
    0 c$ V3 b, ~# i: j8 u
  3.     curl_setopt($curl, CURLOPT_URL, $url); // 要访问的地址
    & n, m# ~, y+ E  T
  4.     curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, 0); // 对认证证书来源的检查
    # Q$ P: {  t7 L; g" l
  5.     curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 1); // 从证书中检查SSL加密算法是否存在4 G3 j1 G6 S& A" S4 ]
  6.     curl_setopt($curl, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']); // 模拟用户使用的浏览器
    ! q% q3 u: j6 a( P
  7.     curl_setopt($curl, CURLOPT_COOKIE, $cookie);3 |3 }$ Y' k1 l' O$ l) x
  8.     curl_setopt($curl, CURLOPT_REFERER,'https://www.baidu.com');// 设置Referer$ _- A' m* N6 y! h$ ~1 @
  9.     curl_setopt($curl, CURLOPT_POST, 1); // 发送一个常规的Post请求
    & U% ^7 q6 s7 d+ Y
  10.     curl_setopt($curl, CURLOPT_POSTFIELDS, $data); // Post提交的数据包1 A1 m6 ]; b5 K) @( ?0 N
  11.     curl_setopt($curl, CURLOPT_TIMEOUT, 30); // 设置超时限制防止死循环
    9 W0 d8 F5 K: @1 S* d
  12.     curl_setopt($curl, CURLOPT_HEADER, 0); // 显示返回的Header区域内容
    8 S7 T% G9 @5 y; @& B" P6 `2 m
  13.     curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); // 获取的信息以文件流的形式返回% `# |# n% I1 o. @% i4 ?
  14.     $tmpInfo = curl_exec($curl); // 执行操作2 m' o0 F4 Z! O; h
  15.     if (curl_errno($curl)) {2 a. F! ~% |. S: c
  16.        echo 'Errno'.curl_error($curl);//捕抓异常* ?9 c9 l2 h4 M7 l/ @0 N- J
  17.     }; x, @5 m* u- C* H9 U$ }
  18.     curl_close($curl); // 关闭CURL会话
    8 S1 c' _) L+ b( D# L
  19.     return $tmpInfo; // 返回数据
    ' L3 s3 f( \$ N
  20. }
复制代码

& r- {7 h0 C4 d$ q& J6 F& v9 ~1 N8 C% L- }! G8 d: ~
评论0

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

GMT+8, 2026-10-7 04:40 , Processed in 0.040818 second(s), 10 queries , Gzip On, Redis On.

Powered by Discuz! X5.0

© 2001-2026 Discuz! Team.