php 模拟post请求,php模拟post请求的三种常见用法
本篇文章主要介绍php模拟post请求的三种常见用法,感兴趣的朋友参考下,希望对大家有所帮助。
本文实例讲述了php实现模拟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=array()){//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;
}
}
$url='http://******/con/Inter.php';
$data=Request::post($url,array('api'=>'tag_list'));
$data2=Request::post2($url,array('api'=>'tag_list'));
echo $data;
总结:以上就是本篇文的全部内容,希望能对大家的学习有所帮助。
相关推荐:
php 模拟post请求,php模拟post请求的三种常见用法相关推荐
- java端模拟http的get、post请求(转)
Servlet是SUN指定的Java服务器端编程规范,用以处理来自客户端的请求,处理并做出响应的一套基础API.Servlet是运行在Servlet容器中的Java小程序,容器运行在服务器端,服务器侦 ...
- 【转】使用C#发送Http 请求实现模拟登陆(以博客园为例)
[转]使用C#发送Http 请求实现模拟登陆(以博客园为例) 模拟登陆的原理很简单,就是发送一个Http 请求服务器获得响应,然后客户端获取到cookie即可实现模拟登陆,比如一些抢票软件的原理无非也 ...
- vue 接口数据排序_Vue 使用 axios 请求 mock 模拟接口的数据
安装使用 axios # axios 安装 使用npm install axios --save# main.js 引入 axiosimport axios from 'axios'Vue.proto ...
- C#模拟http 发送post或get请求
C#模拟http 发送post或get请求 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 2 ...
- 爬虫实战学习笔记_2 网络请求urllib模块+设置请求头+Cookie+模拟登陆
1 urllib模块 1.1 urllib模块简介 Python3中将urib与urllib2模块的功能组合,并且命名为urllib.Python3中的urllib模块中包含多个功能的子模块,具体内容 ...
- 使用C#发送Http 请求实现模拟登陆(以博客园为例)
使用C#发送Http 请求实现模拟登陆(以博客园为例) 原文:使用C#发送Http 请求实现模拟登陆(以博客园为例) 模拟登陆的原理很简单,就是发送一个Http 请求服务器获得响应,然后客户端获取到c ...
- C#开发笔记之18-如何用C#模拟(传统方法)发送Post请求或Get请求?
本文由 比特飞 原创发布,欢迎大家踊跃转载. 转载请注明本文地址:C#开发笔记之18-如何用C#模拟(传统方法)发送Post请求或Get请求? | .Net中文网. C#开发笔记概述 概述 HTTP ...
- Java模拟HTTP的Get和Post请求(增强)
Java模拟HTTP的Get和Post请求(增强) 在之前,写了篇Java模拟HTTP的Get和Post请求的文章,这篇文章起源与和一个朋友砍飞信诈骗网站的问题,于是动用了Apache的comment ...
- cURL(wget)—— 测试 RESTful 接口及模拟 GET/POST/PUT/DELETE/OPTIONS 请求
cURL 是一个简单的 http 命令行工具.与最优秀的 Unix 工具一样,在设计之时,cURL 是个小型程序,功能十分专一,而且是故意为之,仅用于访问 http 服务器.(在 Linux 中,可以 ...
最新文章
- Python之tkinter:动态演示调用python库的tkinter带你进入GUI世界(LabelFrame/Checkbutton/Radiobutton)
- 拼图项目的动机和目标
- 数字非压缩光端机的选购原则
- 点在多边形内 java_判断点在多边形内部的方法(Java版)
- GC.Collect
- matlab中遗传算法代沟,谢菲尔德大学的MATLAB遗传算法
- spss26没有典型相关性分析_如何在SPSS中实现典型相关分析
- 【Android】组件安全
- QString 转toLatin1 toUtf8 toLocal8Bit区别
- 数据系统架构-5.实时离线统计系统
- elk替代_记一次关于elk收集的日志中把手机号码用***代替遇到的问题以及解决
- Linux命令——系统管理
- 成功解决:1136 - Column count doesn‘t match value count at row 1
- BW顾问进阶:BW服务器访问文件数据源,处理链调度抽取方案
- Fluke 1550C、FLUKE 1555高压绝缘电阻测试仪
- 高手处理事情的十二个方法,普通人学到三招就很厉害了
- SQL之统计某一状态数量
- Springboot+vue项目毕业生信息招聘平台
- watch和watchEffect
- Drupal 主题系统( Drupal theme)(1)