curl模拟post请求提交

ThingsBoard集群部署之k8s 今天终于有时间去搞这个啦,拖了很久了,一直没时间,因为我本地没有那么多机器资源,开虚拟机不够,如果租用阿里云服务器,需要有充值的时间,因为这个费用是按小时付费,需要有连贯的时间来搞才行,今天恰好有时间,就开始搞了,弄成功搞出来了,特地写博客记录下来。 阅读详情
  1. header('content-type:text/html;charset=utf-8');  
  2. function curlPost($url,$data,$method){  
  3.     $ch = curl_init();   //1.初始化  
  4.     curl_setopt($ch, CURLOPT_URL, $url); //2.请求地址  
  5.     curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $method);//3.请求方式  
  6.     //4.参数如下  
  7.     curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);//https  
  8.     curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);  
  9.     curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (compatible; MSIE 5.01; Windows NT 5.0)');//模拟浏览器  
  10.     curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);  
  11.     curl_setopt($ch, CURLOPT_AUTOREFERER, 1);  
  12.         curl_setopt($ch, CURLOPT_HTTPHEADER,array('Accept-Encoding: gzip, deflate'));//gzip解压内容  
  13.         curl_setopt($ch, CURLOPT_ENCODING, 'gzip,deflate');  
  14.       
  15.     if($method=="POST"){//5.post方式的时候添加数据  
  16.         curl_setopt($ch, CURLOPT_POSTFIELDS, $data);  
  17.     }  
  18.     curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);  
  19.     $tmpInfo = curl_exec($ch);//6.执行  
  20.   
  21.     if (curl_errno($ch)) {//7.如果出错  
  22.         return curl_error($ch);  
  23.     }  
  24.     curl_close($ch);//8.关闭  
  25.     return $tmpInfo;  
  26. }  
  27. $data=array('name' => '1234');  
  28. $url="http://www.sohu.com/";  
  29.   
  30. $method="GET";  
  31. $file=curlPost($url,$data,$method);  
  32. $file=mb_convert_encoding($file,'UTF-8','GBK');  
  33. echo $file;  


当cookie认证登陆的时候

  1. <?php  
  2.     $cookie_file = tempnam('./temp','cookie');  
  3.     function weixinPost($url,$data,$method,$setcooke=false,$cookie_file=false){  
  4.         $ch = curl_init();   //1.初始化  
  5.         curl_setopt($ch, CURLOPT_URL, $url); //2.请求地址  
  6.         curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $method);//3.请求方式  
  7.         //4.参数如下      
  8.         curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);  
  9.         curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);  
  10.         curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (compatible; MSIE 5.01; Windows NT 5.0)');  
  11.         curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);  
  12.         curl_setopt($ch, CURLOPT_AUTOREFERER, 1);  
  13.           
  14.         if($method=="POST"){//5.post方式的时候添加数据     
  15.             curl_setopt($ch, CURLOPT_POSTFIELDS, $data);  
  16.         }  
  17.         if($setcooke==true){  
  18.             curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie_file);  
  19.         }else{  
  20.             curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie_file);  
  21.         }  
  22.         curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);  
  23.         $tmpInfo = curl_exec($ch);//6.执行  
  24.   
  25.         if (curl_errno($ch)) {//7.如果出错  
  26.             return curl_error($ch);  
  27.         }  
  28.         curl_close($ch);//8.关闭  
  29.         return $tmpInfo;  
  30.     }  
  31.     $data=array('username' => '***','password'=>'***');  
  32.     $url="http://www.xinxinj.com/login.php";  
  33.     $method="POST";  
  34.     $file=weixinPost($url,$data,$method,true,$cookie_file);  
  35.     echo $file;  
  36.           
  37.     $url="http://www.xinxinj.com/admin.php";  
  38.     $method="GET";  
  39.     $file=weixinPost($url,$data,$method,false,$cookie_file);  
  40.     echo $file;  
  41.           
  42. ?>  


如果上述还是无法解决,那么采用以下方案

  1. $ch = curl_init();    
  2. $url = '*******';    
  3. $header = array(  
  4. 'cookie:********'  
  5. );  
  6. // 添加apikey到header    
  7. curl_setopt($ch, CURLOPT_HTTPHEADER  , $header);    
  8. //curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);    
  9. curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10.12; rv:50.0) Gecko/20100101 Firefox/50.0');    
  10. curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);    
  11. curl_setopt($ch, CURLOPT_AUTOREFERER, 1);   
  12. // 执行HTTP请求    
  13. curl_setopt($ch , CURLOPT_URL , $url);    
  14. $res = curl_exec($ch);    
  15. var_dump($res);  

如果我们请求的地址为https时,还需要加上下面两行代码

curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,false);    //设置SSL转换
curl_setopt($ch,CURLOPT_SSL_VERIFYHOST,false);  //设置SSL转换转换主机  

上面的$header中的数组中cookie的内容是现在浏览器登录,然后打开控制台,把cookie的信息粘贴进来

华为od 面试八股文_Python_05_含答案 阅读详情

相关推荐

Ubuntu 24.04 新增用户并禁用 root 账户操作指南

Ubuntu 24.04 新增用户并禁用 root 账户操作指南

深山技术宅的博客 1854

linux模拟网页提交,用curl 模拟浏览器进行提交

curl-X POST 默认是get 可以改为post--data "data=xxx" 要提交的数据--header "Content-Type:application/json" 增加各种头信息,可以从chrome调试中直接找到http://www.example.com/form.cgi 访问的网站url其他参数--data-urlencode 是data参数的一种替代,可以对data...

weixin_33962315的博客 324

爬取百度图片

最开始,我们想要爬取图片,首先需要打开百度图库,然后在搜索栏中输入自己想要的图片(比如说壁纸)。接着右键检查,点击网络:起初可能没有名称信息,刷新界面就可以了。打开信息,查看标头内容可以看到请求URL为:复制这串URL,然后在浏览器中打开这个就是我们搜索的壁纸图片的网页内容。怎么找到图片的URL呢?在上述内容中,找到data,可以发现里面每隔一个aiEditData,下面代码的形式是一样的,就相当于一张图片。

weixin_54143563的博客 1939

Android中模拟post表单提交,带参数及文件参数

有时候需要通过Android客户端向服务器提交数据,带一些cans

Harold的专栏 4469

AltiumDesigner相同模块复用操作

AltiumDesigner相同模块复用操作框选已布局好的A电路,作为复用模块创建Room同样的操作,框选C电路,然后也创建Room查看A电路的Chanel Offset显示设置复制Channel Offset查看B电路的Channel Offset复制A电路的Channel Offset到C电路Room格式的复制 框选已布局好的A电路,作为复用模块 创建Room 同样的操作,框选C电路,然后也创建Room 查看A电路的Chanel Offset 框选A模块的,然后点右下角的菜单——PCB——PCB

weixin_41947101的博客 5959

CEH Practical 实战考试真题与答案

CEH Practical 是 EC-Council 推出的Certified Ethical Hacker(CEH)认证项目中的一项高级动手实践考试。它不同于传统的理论考试,侧重于在真实环境中检验考生的实操能力。

sgafdgdagd的博客 967

curl post请求表单_通过curl模拟post和get方式提交的表单类

/*** Class SimulantForm 模拟表单*/class SimulantForm {/*** @var 要提交的页面url*/protected $_url;/*** @var resource curl_init()返回的curl句柄*/protected $_ch;/*** 初始化一个表单* @param $_url url*/public function __constru...

weixin_39771969的博客 234

别再凭感觉选电容了!手把手教你计算电机控制器里的母线电容(附Excel计算工具)

本文详细解析了电机控制器中母线电容的选型方法,从理论计算到工程实践,帮助工程师避免常见误区。通过精确计算纹波电压、电容容量等关键参数,并结合薄膜电容与电解电容的性能对比,提供实用的选型建议。附带的Excel计算工具可快速完成参数计算,适用于工业伺服驱动和电动车电机控制器设计。

weixin_28720573的博客 518

php curl模拟post请求提交数据例子总结

在php中要模拟post请求数据提交我们会使用到curl函数,下面我来给大家举几个curl模拟post请求提交数据例子有需要的朋友可参考参考。注意:curl函数在php中默认是不被支持的,如果需要使用curl函数我们需在改一改 在php中要模拟post请求数据提交我们会使用到curl函数,下面我来给大家举几个curl模拟post请求提交数据例子有需要的朋友可参考参考。 注意:curl函数在php

1048

RK3568平台(USB篇)USB Gadget 驱动

USB 设备驱动,按照设备端关联的 USB 控制器 是工作在 主模式 还是 从模式,分为 USB 设备主机侧驱动 (主模式),或者 USB 设备从机侧驱动 (从模式)。同时,工作在 主模式 的 USB 控制器,称为 USB 主机控制器 (UHC: USB Host Controller),工作在 从模式 的 USB 控制器,称为 USB 设备控制器 (UDC: USB Device Controller)。有的 USB 控制器,只能工作在 主模式 或 从模式 中的某一种;

weixin_49303682的博客 1438

Agent Harness Engineering: AI Agent 执行管控与安全沙箱 原理与最佳实践

我们正站在计算范式转移的历史节点上。2024-2026 年间,AI 系统从被动的内容生成器(Generative AI)演变为主动的行动执行者(Agentic AI)。这一转变的根本特征是:根据 2026 年初的行业数据:然而,能力的提升伴随着风险的指数级增长。2024-2026 年间发生的多起标志性安全事件揭示了 Agent 系统的脆弱性:案例 1:Slack AI 数据外泄事件(2024 年 8 月)案例 2:制造业供应链攻击(2026 年 Q3)案例 3:Arup 深度诈骗案(2026 年 9 月)这

AI天才研究院 1668

python多维数据post给php_php curl模拟post请求和提交多维数组的示例代码

下面一段代码给大家介绍php curl模拟post请求的示例代码,具体代码如下:$uri = "http://www.cnblogs.com/test.php";//这里换成自己的服务器的地址// 参数数组$data = array ('name' => 'tanteng'// 'password' => 'password');$ch = curl_init ();// print_...

weixin_39540018的博客 250

R语言dplyr包recode函数、recode_factor函数数值或因子替换实战

R语言dplyr包recode函数、recode_factor函数数值或因子替换实战 目录 R语言dplyr包recode函数、recode_factor函数数值或因子替换实战 #导入dplyr包 #recode函数进行数值替换 #recode_factor函数对因子变量进行替换 #导入dplyr包 install.packages("dplyr") # Install & load dplyr library("dpl.

data+scenario+science+insight 1590

curl post请求表单_PHP 中的CURL 模拟表单的post提交

【摘要】PHP 中的CURL 模拟表单的post提交考必过小编为大家整理了关于PHP 中的CURL 模拟表单的post提交的信息,希望可以帮助到大家!PHP 中的CURL 模拟表单的post提交标签:trancontaineclassinitretcommaddpnorm废话不多说啦,直接上代码:1234567891011121314151617181920212223$data= [‘usern...

weixin_39588542的博客 223

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

php curl模拟post请求提交数据样例总结

在php中要模拟post请求数据提交我们会使用到curl函数,以下我来给大家举几个curl模拟post请求提交数据样例有须要的朋友可參考參考。注意:curl函数在php中默认是不被支持的,假设须要使用curl函数我们需在改一改 在php中要模拟post请求数据提交我们会使用到curl函数,以下我来给大家举几个curl模拟post请求提交数据样例有须要的朋友可參考參考。 注意:curl函...

weixin_30419799的博客 87

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

上一篇: 微信小程序之商城分类详情
下一篇: 微博开发之发布微博
php_younger
博客等级 码龄10年 32粉丝 70原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值