[PHP] PHP Curl 模拟POST 可以https

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

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

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

×
  1. function vpost($url,$data,$cookie){ // 模拟提交数据函数' f+ p( o1 N5 R+ w* i
  2.     $curl = curl_init(); // 启动一个CURL会话+ P5 O% e9 `7 |
  3.     curl_setopt($curl, CURLOPT_URL, $url); // 要访问的地址- F4 K# v, [. V; g, E
  4.     curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, 0); // 对认证证书来源的检查  z; ?+ t( G6 ~9 Y" q" b% R
  5.     curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 1); // 从证书中检查SSL加密算法是否存在9 i) P- x+ k/ y2 u( y
  6.     curl_setopt($curl, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']); // 模拟用户使用的浏览器
    + ~6 b* U. V5 c+ w4 ]" f# J
  7.     curl_setopt($curl, CURLOPT_COOKIE, $cookie);
    1 a! F% f- m& @) q  Q% f( k
  8.     curl_setopt($curl, CURLOPT_REFERER,'https://www.baidu.com');// 设置Referer# F! Y2 p7 }8 ]" i5 r
  9.     curl_setopt($curl, CURLOPT_POST, 1); // 发送一个常规的Post请求: b7 |! I& Z* D8 U
  10.     curl_setopt($curl, CURLOPT_POSTFIELDS, $data); // Post提交的数据包
    3 j( u, S- k  J+ c
  11.     curl_setopt($curl, CURLOPT_TIMEOUT, 30); // 设置超时限制防止死循环
    3 i- c$ s. E3 u/ l6 G# p: w
  12.     curl_setopt($curl, CURLOPT_HEADER, 0); // 显示返回的Header区域内容
    2 Q7 ~+ d/ g! W( n
  13.     curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); // 获取的信息以文件流的形式返回
    3 N8 O; T1 s$ I0 L' O6 u- J# n
  14.     $tmpInfo = curl_exec($curl); // 执行操作
    8 e$ t. `- i6 \# V, `) M
  15.     if (curl_errno($curl)) {" n+ g% ^" r3 _0 ?2 s
  16.        echo 'Errno'.curl_error($curl);//捕抓异常
    5 Y6 Z5 S& B2 R. u
  17.     }  U$ p5 p) K/ ?6 t3 S( L1 {* T
  18.     curl_close($curl); // 关闭CURL会话! o$ h* a5 [# C
  19.     return $tmpInfo; // 返回数据
    ( @! J1 l8 Z. f2 U) g3 D* z
  20. }
复制代码

# o2 Q9 p4 n" o3 _, {! W6 j: P: ]9 Z: z+ z4 }  F% v
评论0

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

GMT+8, 2025-7-1 12:12 , Processed in 0.060967 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.