利用PHP进行HTTP请求是很常见的事情了,大家都知道用CURL来进行操作,但是CURL函数使用起来配置是很多的,很多人往往只有用到一小部分常用选项,这里我做了一个封装 主要功能 POST,GET COOKIE支持 URLENCODE支持(针对GET请求) 由于是静态方法,直接::调用即
利用PHP进行HTTP请求是很常见的事情了,大家都知道用CURL来进行操作,但是CURL函数使用起来配置是很多的,很多人往往只有用到一小部分常用选项,这里我做了一个封装
主要功能
POST,GET
COOKIE 支持
URLENCODE 支持(针对GET请求)
由于是静态方法,直接 :: 调用即可
<?php /** * @version 1.0 * @date 2014-08-11 * @author 十七号 <xialeistudio@gmail.com> * @license MIT * Class Request 网络工具类 */ class Request { /** * HTTP GET 请求 * @param string $url 请求地址 * @param array $data 请求数据 * @param null $cookie COOKIE * @param null $cookiefile COOKIE 请求所用的COOKIE文件位置 * @param null $cookiesavepath 请求完成的COOKIE保存位置 * @param bool $encode 是否对请求参数进行 urlencode 处理 * @return mixed * @throws Exception */ public static function get($url, $data = array(), $cookie = null, $cookiefile = null,$cookiesavepath = null, $encode = true) { //初始化句柄 $ch = curl_init(); //处理GET参数 if(count($data)>0){ $query = $encode?http_build_query($data):urldecode(http_build_query($data)); curl_setopt($ch, CURLOPT_URL, $url . '?' . $query); }else{ curl_setopt($ch, CURLOPT_URL, $url); } curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch,CURLOPT_USERAGENT,'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/35.0.1916.153 Safari/537.36'); //设置cookie if (isset($cookie)) curl_setopt($ch, CURLOPT_COOKIE, $cookie); //设置cookie请求文件 if (isset($cookiefile)){ if(!is_file($cookiefile)) throw new Exception('Cookie文件不存在'); curl_setopt($ch, CURLOPT_COOKIEFILE, $cookiefile); } //设置cookie保存路径 if(isset($cookiesavepath)) curl_setopt($ch,CURLOPT_COOKIEJAR,$cookiesavepath); //执行请求 $resp = curl_exec($ch); //关闭句柄,释放资源 curl_close($ch); return $resp; } /** * HTTP POST 请求 * @param string $url 请求地址 * @param array $data 请求数据 * @param null $cookie 请求COOKIE * @param null $cookiefile 请求时cookie文件位置 * @param null $cookiesavepath 请求完成的COOKIE保存位置 * @return string * @throws Exception */ public static function post($url, $data = array(), $cookie = null, $cookiefile = null,$cookiesavepath = null) { //初始化请求句柄 $ch = curl_init(); //参数设置 curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch,CURLOPT_POST,1); curl_setopt($ch,CURLOPT_POSTFIELDS,$data); curl_setopt($ch,CURLOPT_USERAGENT,'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/35.0.1916.153 Safari/537.36'); //cookie设置 if (isset($cookie)) curl_setopt($ch, CURLOPT_COOKIE, $cookie); //请求cookie设置 if (isset($cookiefile)){ if(!is_file($cookiefile)) throw new Exception('Cookie文件不存在'); curl_setopt($ch, CURLOPT_COOKIEFILE, $cookiefile); } //设置cookie保存路径 if(isset($cookiesavepath)) curl_setopt($ch,CURLOPT_COOKIEJAR,$cookiesavepath); $resp=curl_exec($ch); curl_close($ch); return $resp; } }
声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章
R.E.P.O.能量晶体解释及其做什么(黄色晶体)
3 周前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
3 周前By尊渡假赌尊渡假赌尊渡假赌
刺客信条阴影:贝壳谜语解决方案
2 周前ByDDD
R.E.P.O.如果您听不到任何人,如何修复音频
3 周前By尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解锁Myrise中的所有内容
3 周前By尊渡假赌尊渡假赌尊渡假赌

热工具

禅工作室 13.0.1
功能强大的PHP集成开发环境

Atom编辑器mac版下载
最流行的的开源编辑器

Dreamweaver CS6
视觉化网页开发工具

ZendStudio 13.5.1 Mac
功能强大的PHP集成开发环境

EditPlus 中文破解版
体积小,语法高亮,不支持代码提示功能