[PHP] PHP Curl 模拟POST 可以https

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

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

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

×
  1. function vpost($url,$data,$cookie){ // 模拟提交数据函数
    , ^) b8 K( b, K3 C( E& L$ B' ?
  2.     $curl = curl_init(); // 启动一个CURL会话
    5 I0 f. |9 d9 I* q
  3.     curl_setopt($curl, CURLOPT_URL, $url); // 要访问的地址" U+ X% L# V' B* L) g
  4.     curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, 0); // 对认证证书来源的检查
    - C5 U) b( P" ?7 \7 Y$ ~0 ^( A7 _- r
  5.     curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 1); // 从证书中检查SSL加密算法是否存在
    1 ?3 \+ d/ i' u; z4 w
  6.     curl_setopt($curl, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']); // 模拟用户使用的浏览器8 R: w! f, a- p2 t0 r+ \+ b
  7.     curl_setopt($curl, CURLOPT_COOKIE, $cookie);+ c3 {9 K- w8 c0 E! `+ x- k! G- [8 C% i
  8.     curl_setopt($curl, CURLOPT_REFERER,'https://www.baidu.com');// 设置Referer
    8 C. ]$ Q: [5 x$ ^( K
  9.     curl_setopt($curl, CURLOPT_POST, 1); // 发送一个常规的Post请求
    8 Q6 U3 p/ j: v. W
  10.     curl_setopt($curl, CURLOPT_POSTFIELDS, $data); // Post提交的数据包1 _9 E+ |: H; K: e( H: ^( l
  11.     curl_setopt($curl, CURLOPT_TIMEOUT, 30); // 设置超时限制防止死循环: P! f) H6 R8 T) \# p7 T, G. {7 [
  12.     curl_setopt($curl, CURLOPT_HEADER, 0); // 显示返回的Header区域内容
    0 z  X7 X  O1 a9 W- [" v
  13.     curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); // 获取的信息以文件流的形式返回
    7 k: R7 M+ u; e$ ^( |8 M3 S
  14.     $tmpInfo = curl_exec($curl); // 执行操作. p, U( O/ s% e  K3 K  |
  15.     if (curl_errno($curl)) {* H1 s% I  m( G" X' T. R  ]
  16.        echo 'Errno'.curl_error($curl);//捕抓异常; n. O/ D7 |, l( D8 {6 D
  17.     }+ x2 @  d! F, L5 u  A4 ~
  18.     curl_close($curl); // 关闭CURL会话. S+ _8 p" e5 ^; \& C
  19.     return $tmpInfo; // 返回数据
    1 N3 E  Q7 f' @
  20. }
复制代码
* _3 P, d5 x5 ?+ n1 z' t

3 h  F* q' ?1 F! j* p5 Q" z
评论0

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

GMT+8, 2025-5-9 16:43 , Processed in 0.054261 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.