这篇文章主要介绍了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请求的三种方法相关推荐

  1. php发请求的方法,php发送http请求的几种方法

    有很多时候,我们还是需要用php去发送http请求的,它可以模拟浏览器的行为,通常它的应用场景有:1.后端测试自己的接口.2.后端请求别人的数据. 后端测试自己的接口,比如我们写了一个返回json数据 ...

  2. python 入参格式_Python发送post请求的三种入参-文件、base64、普通入参

    作者:cao.dingzheng post是常见的http请求方式之一,而post常见的http请求入参方式一般有文件入参.包含base64编码的json入参.普通入参.这里就针对这三种常见入参方式进 ...

  3. Python接口测试- requests 发送 post 请求的几种方法

    目录 前言: 发送 json 格式的数据 前言:  想了解更多相关知识请关注我吧!或者点击这里领取全套[软件测试/自动化测试]海量资料免费领取 POST 请求用于向服务器发送数据.与 get 相比更安 ...

  4. Ajax向后端发送PUT请求的两种方法

    文章目录 一.将POST请求修改为PUT请求 二.直接发送PUT请求 一.将POST请求修改为PUT请求 通过HiddenHttpMethodFilter过滤器将POST请求修改为PUT请求 需要传入 ...

  5. html中vue数据请求的三种方法

    1.resource Vue 要实现异步加载需要使用到 vue-resource 库. Vue.js 2.0 版本推荐使用 axios 来完成 ajax 请求. 先导入一个线上cdn的地址,也可以去n ...

  6. jquary发送ajax请求的三种方式

    ajax= Asynchronous JavaScript and XM (异步JavaScript和XML),通过在后台与服务器进行少量数据交换,ajax 可以使网页实现异步更新,可以在不重新加载整 ...

  7. 前端发送同步请求的三种方式

    先发张图,后续记录

  8. php遍历数组哪个效率高,PHP遍历数组的三种方法及效率对比分析

    PHP遍历数组的三种方法及效率对比分析 发布于 2015-03-04 21:55:27 | 129 次阅读 | 评论: 0 | 来源: 网友投递 PHP开源脚本语言PHP(外文名: Hypertext ...

  9. ajax的三种方法以及ajax概念

    目录 Ajax技术主要包括: 1.客户端脚本语言:JavaScript 2.异步数据获取技术:XMLHttpRequest 3.数据交换和操作技术:XML和XSTL 4.动态显示和交互技术DOM及基于 ...

最新文章

  1. linux oracle 脚本,Linux的Oracle服务脚本
  2. linux怎样创建硬链接,Linux下创建软、硬链接
  3. spark集群测试小案例
  4. PLSQL Developer 出现ORU-10027: buffer overflow, limit of 10000 bytes
  5. 网红证明题:圆周率其实应该是4!看完真的不明觉厉?
  6. 动态规划——最长上升子序列问题(LIS)
  7. Python基础(注释/算数运算符/变量类型/拼接字符串)
  8. An Implemention of Realtime Gobal Illumination
  9. linux ubuntu内核安装位置,在Ubuntu中安装或升级内核 linux kernel
  10. OpenStack 企业私有云的若干需求(1):Nova 虚机支持 GPU
  11. Linux系统管理---LVM分区管理
  12. 名字打架 源码 php,无聊发天蝎与各星座名字打架结果
  13. 编程题a ~ y的25个字母,从1位到4位的编码,输出这个编码对应的Index
  14. java 音频播放器_JAVA音频播放器问题
  15. 百子作业 —— 中国邮递员问题
  16. 9.4 GestureRecognizer muli 多个
  17. 自然语言中corpora.Dictionary的理解
  18. java使用正则表达式获取字符串中的所有英文单词或数字
  19. 用事实说话!这些银行的数字化转型经验值得借鉴
  20. 计算机仿真宇宙,整个宇宙就是一台巨型量子计算机!俄新研究颠覆宇宙学理论...

热门文章

  1. 第13天学习Java的笔记(类定义)
  2. ubuntu:无法将“ubuntu1804.exe”项识别为cmdlet、函数、脚本文件或可运行程序的名称。【已解决】
  3. c语言刷新输出_在fx-9860系列上用C语言编程
  4. SLAM学习--2D激光SLAM-圣经-概率机器人学各种扩展
  5. 避免重复造轮子,我们去哪找FPGA IP或是HDL功能模块?
  6. 浅谈C/C++引用和指针的联系和区别
  7. 数字语音信号处理学习笔记——语音信号的短时时域分析(1)
  8. java wordcount程序_WordCount程序(java)
  9. 【商业落地篇】Gartner第四范式全球首发AutoML系列白皮书(限时免费下载)
  10. C指针原理(34)-Ncurses-文本终端的图形