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程序设计有所帮助。
相关推荐
-
php 模拟POST提交的2种方法详解
一.通过curl函数 复制代码 代码如下: $post_data = array();$post_data['clientname'] = "test08";$post_data['clientpasswd'] = "test08";$post_data['submit'] = "submit";$url='http://xxx.xxx.xxx.xx/xx/xxx/top.php';$o="";foreach ($post_d
-
php 模拟post_验证页面的返回状态(实例讲解)
1.主要文件,访问该页面,该页面根据"验证页面"的返回结果设置本文件的返回状态 header('HTTP/1.1 '.$code.' '.$_status[$code]) 复制代码 代码如下: <?php ini_set('max_execution_time', 120); include("CheckConfig.php"); function send_http_status($code) { static $_status = ar
-
php curl模拟post请求小实例
本机: 复制代码 代码如下: <?php$uri = "http://www.a.com/test.php";//这里换成你服务器的地址// 参数数组$data = array ( 'name' => 'tanteng' // 'password' => 'password'); $ch = curl_init ();// print_r($ch);curl_setopt ( $ch, CURLOPT_URL, $uri );curl_setopt ( $ch, C
-
php curl模拟post提交数据示例
复制代码 代码如下: <?header("Content-type: text/html; charset=utf8");/* * 提交请求* @param $header array 需要配置的域名等header设置 array("Host: devzc.com");* @param $data string 需要提交的数据 'user=xxx&qq=xxx&id=xxx&post=xxx'....* @param $url stri
-
PHP函数分享之curl方式取得数据、模拟登陆、POST数据
废话不多说直接上代码 复制代码 代码如下: /********************** curl 系列 ***********************///直接通过curl方式取得数据(包含POST.HEADER等)/* * $url: 如果非数组,则为http;如是数组,则为https * $header: 头文件 * $post: post方式提交 array形式 * $cookies: 0默认无cookie,1为设置,2为获取 */public function curl_allinf
-
php模拟post行为代码总结(POST方式不是绝对安全)
这里提供两种方法供选择:第一:手写代码.第二:利用HttpClient php类库 第一种方法: 复制代码 代码如下: <?PHP $flag = 0; //要post的数据 $argv = array( 'var1'=>'abc', 'var2'=>'你好吗'); //构造要post的字符串 foreach ($argv as $key=>$value) { if ($flag!=0) { $params .= "&"; $flag = 1; } $p
-
php中模拟POST传递数据的两种方法分享
方法1 复制代码 代码如下: $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, "http://192.168.1.135/turntable/get_jump.php"); curl_setopt($ch, CURLOPT_HEADER, 0); curl_setopt($ch, CURLOPT_POSTFIELDS, $array); curl_exec($ch); curl_close($ch); 方法2 复制代码 代码如下: $d
-
php模拟post提交数据的方法
本文实例讲述了php模拟post提交数据的方法.分享给大家供大家参考.具体如下: php模拟post提交数据,用处很多,可用来网站的采集,登陆等等 这里以我项目中的论坛登录为例加以说明: 复制代码 代码如下: function A_bbslogin($user_login,$password,$host,$port="80"){ //需要提交的post数据 $argv = array( 'cookie' => array('user_login' =>$user_login
-
使用PHP Socket 编程模拟Http post和get请求
这里给大家分享一段使用PHP Socket 编程模拟Http post和get请求的代码,非常的实用,结尾部分我们再讨论下php模拟http请求的几种方法. 复制代码 代码如下: <?php /** * 使用PHP Socket 编程模拟Http post和get请求 * @author koma */ class Http{ private $sp = "\r\n"; //这里必须要写成双引号 private $protocol = 'HTTP/1.1';
-
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_se
-
php下的原生ajax请求用法实例分析
本文实例讲述了php下的原生ajax请求用法.分享给大家供大家参考,具体如下: 浏览器中为我们提供了一个JS对象XMLHttpRequet,它可以帮助我们发送HTTP请求,并接受服务端的响应. 意味着我们的浏览器不提交,通过JS就可以请求服务器. ajax(Asynchronous Javascript And XML)其实就是通过XHR对象,执行HTTP请求. 1.创建XHR对象 var xhr = new XMLHttpRequest(); //暂不考虑兼容 2.XHR的对象属性和方法 方法
-
PHP socket 模拟POST 请求实例代码
我们用到最多的模拟POST请求几乎都是使用php curl来实现了,没考虑到PHP socket也可以实现,今天看到朋友写了一文章,下面我来给大家分享一下PHP socket模拟POST请求实例. 以前模拟post请求俺都用PHP curl扩展实现来着,没想过PHP socket也可以实现.最近翻了下相关资料才发现原来没有那么高深,只是以前一直没有完全理解post的原理和本质而已,其实就是发送给目的程序一个标志为post的协议串如下: POST /目的程序url HTTP/1.1 Accept:
-
java后台调用HttpURLConnection类模拟浏览器请求实例(可用于接口调用)
一般在项目开发中难免遇到外部接口的调用,本文实例讲述了java后台调用HttpURLConnection类模拟浏览器请求的方法.可用于接口调用.分享给大家供大家参考.具体实现方法如下: 复制代码 代码如下: package com.cplatform.movie.back.test; import java.io.BufferedReader; import java.io.DataOutputStream; import java.io.InputStreamReader; import ja
-
实例详解jQuery Mockjax 插件模拟 Ajax 请求
1. 原理 jquery-mockjax是用于mock 前台ajax向后台请求的返回数据. 原理很简单 在你js代码要发送ajax请求的地方断点一下,然后比较在[引入jquery-mockjax] 和 [没有引入jquery-mockjax]的情况下$.ajax.toString()的值情况. 很明显,引入jquery-mockjax时,这个mock库会对jquery提供的ajax函数做替换.这样就很容易能mock起来. 在实际的开发过程中,前端后台协商好了统一的接口,就各自开始自己的任务了.这
-
使用UrlConnection实现后台模拟http请求的简单实例
使用UrlConnection实现后台模拟http请求的简单实例 这两天在整理看httpclient,然后想自己用UrlConnection后台模拟实现Http请求,于是一个简单的小例子就新鲜出炉了(支持代理哦): public class SimpleHttpTest { public static String send(String urlStr, Map<String,String> map,String encoding){ String body=""; Str
-
PHP模拟http请求的方法详解
本文实例讲述了PHP模拟http请求的方法.分享给大家供大家参考,具体如下: 方法一:利用php的socket编程来直接给接口发送数据来模拟post的操作. 建立两个文件post.php,getpost.php post.php内容如下: <?php $flag = 0; $params = ''; $errno = ''; $errstr = ''; //要post的数据 $argv = array( 'var1'=>'abc', 'var2'=>'how are you , my f
-
PHP实现模拟http请求的方法分析
本文实例讲述了PHP实现模拟http请求的方法.分享给大家供大家参考,具体如下: 在http简析中,我们提到了浏览器请求资源的一个流程,那么这个流程能不能用php来模拟呢?答案是肯定的. php模拟http请求需要实现以下步骤: 1.连接apache服务器 使用fsockopen:专门用于连接服务器,得到一个连接资源 2.写入http协议 使用fwrite向资源写入内容 3.接收数据 请求成功后返回的数据会被存放在资源中 4.解析数据: 使用fgets,和fgetc函数 实现代码: <?php
-
python利用requests库模拟post请求时json的使用教程
我们都见识过requests库在静态网页的爬取上展现的威力,我们日常见得最多的为get和post请求,他们最大的区别在于安全性上: 1.GET是通过URL方式请求,可以直接看到,明文传输. 2.POST是通过请求header请求,可以开发者工具或者抓包可以看到,同样也是明文的. 3.GET请求会保存在浏览器历史纪录中,还可能会保存在Web的日志中. 两者用法上也有显著差异(援引自知乎): 1.GET用于从服务器端获取数据,包括静态资源(HTML|JS|CSS|Image等等).动态数据展示(列表
随机推荐
- 第一个JavaScript入门基础 document.write输出
- perl模块Data::Dumper应用一例分享
- struts2标签总结_动力节点Java学院整理
- IOS实现微信朋友圈相册评论界面的翻转过渡动画
- php生成二维码的几种方式整理及使用实例
- 在Python中使用PIL模块对图片进行高斯模糊处理的教程
- windows 下忘记mysql root密码的更改方法
- 创建安全的个人Web服务器(winserver2003、sql2000)
- apache虚拟机配置步骤和修改访问端口的方法(虚拟机端口映射)
- Java 中的注解详解及示例代码
- Android 调用百度地图API示例
- Java使用DFA算法实现过滤多家公司自定义敏感字功能详解
- C++与C的差异分析
- 千兆网线的做法,千兆水晶头的做法
- Android开发之5.0activity跳转时共享元素的使用方法
- JavaScript查看代码运行效率console.time()与console.timeEnd()用法
- 部署MySQL延迟从库的好处小结
- python虚拟环境完美部署
- pip安装python库的方法总结
- 微信小程序wx.request的简单封装