php发送post请求的三种方法
这篇文章主要介绍了php发送post请求的三种方法,分别使用curl、file_get_content、fsocket来实现post提交数据,需要的朋友可以参考下
class Request{
public static function post($url, $post_data = '', $timeout = 5){//curl
$ch = curl_init();
curl_setopt ($ch, CURLOPT_URL, $url);
curl_setopt ($ch, CURLOPT_POST, 1);
if($post_data != ''){
curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data);
}
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
curl_setopt($ch, CURLOPT_HEADER, false);
$file_contents = curl_exec($ch);
curl_close($ch);
return $file_contents;
}
public static function post2($url, $data){//file_get_content
$postdata = http_build_query(
$data
);
$opts = array('http' =>
array(
'method' => 'POST',
'header' => 'Content-type: application/x-www-form-urlencoded',
'content' => $postdata
)
);
$context = stream_context_create($opts);
$result = file_get_contents($url, false, $context);
return $result;
}
public static function post3($host,$path,$query,$others=''){//fsocket
$post="POST $path HTTP/1.1\r\nHost: $host\r\n";
$post.="Content-type: application/x-www-form-";
$post.="urlencoded\r\n${others}";
$post.="User-Agent: Mozilla 4.0\r\nContent-length: ";
$post.=strlen($query)."\r\nConnection: close\r\n\r\n$query";
$h=fsockopen($host,80);
fwrite($h,$post);
for($a=0,$r='';!$a;){
$b=fread($h,8192);
$r.=$b;
$a=(($b=='')?1:0);
}
fclose($h);
return $r;
}
}
转载于:https://www.cnblogs.com/fengms/p/5446374.html
php发送post请求的三种方法相关推荐
- php发请求的方法,php发送http请求的几种方法
有很多时候,我们还是需要用php去发送http请求的,它可以模拟浏览器的行为,通常它的应用场景有:1.后端测试自己的接口.2.后端请求别人的数据. 后端测试自己的接口,比如我们写了一个返回json数据 ...
- python 入参格式_Python发送post请求的三种入参-文件、base64、普通入参
作者:cao.dingzheng post是常见的http请求方式之一,而post常见的http请求入参方式一般有文件入参.包含base64编码的json入参.普通入参.这里就针对这三种常见入参方式进 ...
- Python接口测试- requests 发送 post 请求的几种方法
目录 前言: 发送 json 格式的数据 前言: 想了解更多相关知识请关注我吧!或者点击这里领取全套[软件测试/自动化测试]海量资料免费领取 POST 请求用于向服务器发送数据.与 get 相比更安 ...
- Ajax向后端发送PUT请求的两种方法
文章目录 一.将POST请求修改为PUT请求 二.直接发送PUT请求 一.将POST请求修改为PUT请求 通过HiddenHttpMethodFilter过滤器将POST请求修改为PUT请求 需要传入 ...
- html中vue数据请求的三种方法
1.resource Vue 要实现异步加载需要使用到 vue-resource 库. Vue.js 2.0 版本推荐使用 axios 来完成 ajax 请求. 先导入一个线上cdn的地址,也可以去n ...
- jquary发送ajax请求的三种方式
ajax= Asynchronous JavaScript and XM (异步JavaScript和XML),通过在后台与服务器进行少量数据交换,ajax 可以使网页实现异步更新,可以在不重新加载整 ...
- 前端发送同步请求的三种方式
先发张图,后续记录
- php遍历数组哪个效率高,PHP遍历数组的三种方法及效率对比分析
PHP遍历数组的三种方法及效率对比分析 发布于 2015-03-04 21:55:27 | 129 次阅读 | 评论: 0 | 来源: 网友投递 PHP开源脚本语言PHP(外文名: Hypertext ...
- ajax的三种方法以及ajax概念
目录 Ajax技术主要包括: 1.客户端脚本语言:JavaScript 2.异步数据获取技术:XMLHttpRequest 3.数据交换和操作技术:XML和XSTL 4.动态显示和交互技术DOM及基于 ...
最新文章
- linux oracle 脚本,Linux的Oracle服务脚本
- linux怎样创建硬链接,Linux下创建软、硬链接
- spark集群测试小案例
- PLSQL Developer 出现ORU-10027: buffer overflow, limit of 10000 bytes
- 网红证明题:圆周率其实应该是4!看完真的不明觉厉?
- 动态规划——最长上升子序列问题(LIS)
- Python基础(注释/算数运算符/变量类型/拼接字符串)
- An Implemention of Realtime Gobal Illumination
- linux ubuntu内核安装位置,在Ubuntu中安装或升级内核 linux kernel
- OpenStack 企业私有云的若干需求(1):Nova 虚机支持 GPU
- Linux系统管理---LVM分区管理
- 名字打架 源码 php,无聊发天蝎与各星座名字打架结果
- 编程题a ~ y的25个字母,从1位到4位的编码,输出这个编码对应的Index
- java 音频播放器_JAVA音频播放器问题
- 百子作业 —— 中国邮递员问题
- 9.4 GestureRecognizer muli 多个
- 自然语言中corpora.Dictionary的理解
- java使用正则表达式获取字符串中的所有英文单词或数字
- 用事实说话!这些银行的数字化转型经验值得借鉴
- 计算机仿真宇宙,整个宇宙就是一台巨型量子计算机!俄新研究颠覆宇宙学理论...
热门文章
- 第13天学习Java的笔记(类定义)
- ubuntu:无法将“ubuntu1804.exe”项识别为cmdlet、函数、脚本文件或可运行程序的名称。【已解决】
- c语言刷新输出_在fx-9860系列上用C语言编程
- SLAM学习--2D激光SLAM-圣经-概率机器人学各种扩展
- 避免重复造轮子,我们去哪找FPGA IP或是HDL功能模块?
- 浅谈C/C++引用和指针的联系和区别
- 数字语音信号处理学习笔记——语音信号的短时时域分析(1)
- java wordcount程序_WordCount程序(java)
- 【商业落地篇】Gartner第四范式全球首发AutoML系列白皮书(限时免费下载)
- C指针原理(34)-Ncurses-文本终端的图形