php使用cUrl方法 get、post请求
php使用curl方法,请确保已经开启curl扩展。传送门:http://www.cnblogs.com/wgq123/p/7450667.html
/**Curl请求get方法
*@$url String 要请求的url地址
*@$dara Array 要传递的参数
*@$timeout int 超时时间
*@return json
/
function curlGetRequest($url='', $data=array(), $timeout=5){
if($url == '' || $timeout <=0){
return false;
}
$param = '';
if(!empty($data)){
foreach($data as $k=>$v){
$param .= $k . '=' . $v .'&';
}
$param = rtrim($param, '&');
$url = $url.'?'.$param;
} $con = curl_init();
curl_setopt($con, CURLOPT_URL, $url);
curl_setopt($con, CURLOPT_HEADER, false);
curl_setopt($con, CURLOPT_RETURNTRANSFER,true);
curl_setopt($con, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)");
curl_setopt($con, CURLOPT_TIMEOUT, (int)$timeout); $output = curl_exec($con);
curl_close($con); return $output;
}
/**Curl请求Post方法
*@$url String 要请求的url地址
*@$dara Array 要传递的参数
*@$timeout int 超时时间
*@return json
/
function curlPostRequest($url='', $data=array(), $timeout=5){
if($url == '' || empty($data) || $timeout <=0){
return false;
}
$param = '';
foreach($data as $k=>$v){
$param .= $k . '=' . $v .'&';
}
$param = rtrim($param, '&');
$con = curl_init();
curl_setopt($con, CURLOPT_URL, $url);
curl_setopt($con, CURLOPT_HEADER, false);
curl_setopt($con, CURLOPT_POSTFIELDS, $param);
curl_setopt($con, CURLOPT_POST,true); curl_setopt($con, CURLOPT_RETURNTRANSFER,true);
curl_setopt($con, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)");
curl_setopt($con, CURLOPT_TIMEOUT,(int)$timeout);
$output = curl_exec($con);
curl_close($con);
return $output;
}
$url="http://127.0.0.1/request.php";
$timeout = 5;
$data = array('name'=>'张三','password'=>'123');
$res1 =curlGetRequest($url,$data);
$res2 =curlPostRequest($url,$data);
echo $res2;
参考链接: http://www.cnblogs.com/manongxiaobing/p/4698990.html
http://www.thinkphp.cn/code/1612.html
php使用cUrl方法 get、post请求的更多相关文章
- 封装curl类,post get方法实现网站请求
<?phpclass RamDemo{ //get方法 function RamGet($url,$arr) { if($arr!=''){ ...
- php使用file_get_contents 或者curl 发送get/post 请求 的方法总结
file_get_contents模拟GET/POST请求 模拟GET请求: <?php $data = array( 'name'=>'zhezhao', 'age'=>'23' ...
- PHP中CURL方法curl_setopt()函数的一些参数
bool curl_setopt (int ch, string option, mixed value)curl_setopt()函数将为一个CURL会话设置选项.option参数是你想要的设置,v ...
- 【转载】curl 模拟 GET\POST 请求,curl查看响应头 以及 curl post 上传文件
补充说明:curl查看响应头 curl -I "http://www.baidu.com"HTTP/1.1 200 OK #HTTP协议 HTTP 返回码Server: Tengi ...
- php 中使用cURL发送get/post请求,上传图片,批处理
cURL是利用url语法规定传输文件和数据的工具.php中有curl拓展,一般用来实现网络抓取,模拟发送get post请求,文件上传. 在php中建立curl的基本步骤如下: 1 初始化 ...
- 转 PHP的CURL方法curl_setopt()函数案例介绍(抓取网页,POST数据)
PHP的CURL方法curl_setopt()函数案例介绍(抓取网页,POST数据) 通过curl_setopt()函数可以方便快捷的抓取网页(采集很方便),curl_setopt 是php的一个 ...
- PHP 中的 curl 函数发送 Post 请求应该注意的几点
public function http_request( $url, $post = '', $timeout = 5 ){ if( empty( $url ) ){return ;}$ch = c ...
- 使用getParameterMap()方法实现对请求参数的封装的工具类
我们知道,HttpServletRequest这个类的getParameter(name),getParameterValues(name)可以分别实现对页面传来的单个参数和对多个同名参数的接受.特别 ...
- php使用curl模拟多线程发送请求
每个PHP文件的执行是单线程的,但是php本身也可以用一些别的技术实现多线程并发比如用php-fpm进程,这里用curl模拟多线程发送请求.php的curl多线程是通过不断调用curl_multi_e ...
随机推荐
- python编程系列---最详细的讲解进程与线程的关系
进程与线程 先引入三个比如: cpu---公司 进程---办公室 线程---程序员(我们) 全局变量,内存等资源---公司提供的电脑,桌子等 进程: 操作系统分配程序执行资源的单位 线程:进 ...
- 楼上请让路 RoarCTF2019 Writeup
Misc 签到题 RoarCTF{签到!!!} 黄金六年 文件尾部有一段base64,解码为16进制可以看到是一个压缩包 打开压缩包需要密码 使用pr抽帧 可以看到部分帧中有二维码,依次扫码即可得到k ...
- Feign服务调用请求方式及参数总结
前言 最近做微服务架构的项目,在用feign来进行服务间的调用.在互调的过程中,难免出现问题,根据错误总结了一下,主要是请求方式的错误和接参数的错误造成的.在此进行一下总结记录.以下通过分为三种情况说 ...
- python常用算法(6)——贪心算法,欧几里得算法
1,贪心算法 贪心算法(又称贪婪算法)是指,在对问题求解时,总是做出在当前看来是最好的选择.也就是说,不从整体最优上加以考虑,他所做出的的时在某种意义上的局部最优解. 贪心算法并不保证会得到最优解,但 ...
- 10 python学习笔记-操作数据库(十)
在功能.接口测试中,常常需要通过数据库的操作,来准备数据.检测环境及核对功能.接口的数据库操作是否正确. 在自动化测试中,就需要我们用代码连接数据库自动完成数据准备. 环境检查及数据库断言的功能.数据 ...
- Shiro learning - 入门学习 Shiro中的基础知识(1)
Shiro入门学习 一 .什么是Shiro? 看一下官网对于 what is Shiro ? 的解释 Apache Shiro (pronounced “shee-roh”, the Japanese ...
- C++沉思录笔记 —— 序幕
#include <stdio.h> class Trace{public: void print(const char* s) { printf("%s\n", ...
- MySQL开发篇(5)索引、视图、触发器、SQL中的安全问题、SQL Mode、
一.索引 所有MySQL列类型都可以被索引,对相关列使用索引是提高SELECT操作性能的最佳途径.每种存储引擎(MyISAM.InnoDB.BDB.MEMORY等)对每个表至少支持16个索引,总索引长 ...
- (一)初识EasyTouch
Easy Touch是一个手指触控(可以鼠标)的插件,可以非常方便的实现各种功能,使用插件第一步是添加Easy Touch组件,可以右键添加也可以在一个空的游戏物体上添加Easy Touch脚本(非事 ...
- Android dos操作
adb shell 开Androidls 列表cd +目录名 打开目 ...