curl的POST与GET方法
$url = '127.0.0.1/shang/bb.php' ; $data = array ( 'name' => '赵猛' , 'age' => '23' ); print_r(get( $url , $data )) ; function post( $url , $data = array ()){ $query = make_query( $data ); $curl = curl_init(); // 启动一个CURL会话 curl_setopt( $curl , CURLOPT_URL, $url ); // 要访问的地址 curl_setopt( $curl , CURLOPT_USERAGENT, $_SERVER [ 'HTTP_USER_AGENT' ]); // 模拟用户使用的浏览器 curl_setopt( $curl , CURLOPT_FOLLOWLOCATION, 1); // 使用自动跳转 curl_setopt( $curl , CURLOPT_AUTOREFERER, 1); // 自动设置Referer curl_setopt( $curl , CURLOPT_POST, 1); // 发送一个常规的Post请求 curl_setopt( $curl , CURLOPT_POSTFIELDS, $query ); // Post提交的数据包 curl_setopt( $curl , CURLOPT_HEADER, 0); // 显示返回的Header区域内容 curl_setopt( $curl , CURLOPT_RETURNTRANSFER, 1); // 获取的信息以文件流的形式返回 $totalline = curl_exec( $curl ); // 执行操作 if (curl_errno( $curl )) { echo 'Errno' .curl_error( $curl ); //捕抓异常 } curl_close( $curl ); // 关闭CURL会话 return $totalline ; } function get( $url , $data = array ()){ $query = make_query( $data ); $curl = curl_init(); // 启动一个CURL会话 curl_setopt( $curl , CURLOPT_URL, $url . '?' . $query ); // 要访问的地址 curl_setopt( $curl , CURLOPT_USERAGENT, $_SERVER [ 'HTTP_USER_AGENT' ]); // 模拟用户使用的浏览器 curl_setopt( $curl , CURLOPT_FOLLOWLOCATION, 1); // 使用自动跳转 curl_setopt( $curl , CURLOPT_AUTOREFERER, 1); // 自动设置Referer curl_setopt( $curl , CURLOPT_HEADER, 0); // 显示返回的Header区域内容 curl_setopt( $curl , CURLOPT_RETURNTRANSFER, 1); // 获取的信息以文件流的形式返回 $totalline = curl_exec( $curl ); // 执行操作 if (curl_errno( $curl )) { echo 'Errno' .curl_error( $curl ); //捕抓异常 } curl_close( $curl ); // 关闭CURL会话 return $totalline ; } //数组-》urlencode转换成字符创 function make_query( $data = array ()){ $str = '' ; if (! empty ( $data ) && is_array ( $data )){ foreach ( $data as $k => $v ){ if ( $str !== '' ){ $str .= '&' ; } $str .= $k . '=' .urlencode( $v ); } } return $str ; }
|
curl的POST与GET方法的更多相关文章
- Magento PHP Extension "curl" must be loaded解决方法
我记得我第一次在xampp装magento的时候,进入后台时提示PHP Extension "curl" must be loaded 在网页上查了下原因和解决方法,发现是mage ...
- 封装curl类,post get方法实现网站请求
<?phpclass RamDemo{ //get方法 function RamGet($url,$arr) { if($arr!=''){ ...
- Linux命令发送Http的get或post请求(curl和wget两种方法)
Http请求指的是客户端向服务器的请求消息,Http请求主要分为get或post两种,在Linux系统下可以用curl和wget命令来模拟Http的请求.下面就来介绍一下Linux系统如何模拟Http ...
- git bash 使用自带 curl 命令出现乱码解决方法
前言 使用过 git 的小伙伴应该都不会陌生,git 自带一个终端 git bash 类似于 window 自带的 dos git 官网下载:https://git-scm.com/dow ...
- Linux 下模拟Http 的get or post请求(curl和wget两种方法)
一.get请求: 1.使用curl命令: curl "http://www.baidu.com" 如果这里的URL指向的是一个文件或者一幅图都可以直接下载到本地curl -i & ...
- curl 出现错误的调试方法
private function httpGet($url) { $curl = curl_init(); curl_setopt($curl, CURLOPT_RETURNTRANSFER, tru ...
- linux curl网络库的使用方法
struct V3MemoryStruct { char *memory; size_t size; }; static size_t WriteMemoryCallback(void *conten ...
- window10 Powershell使用curl命令报错解决方法
报错信息:curl : 无法分析响应内容,因为 Internet Explorer 引擎不可用,或者 Internet Explorer 的首次启动配置不完整.请指定 UseBasicParsing ...
- 实现php Curl 调用不同项目中方法
之前为了实现跨项目调用方法,遇到的一些问题和解决方法总结. 话不多说,直接复制代码先跑了再说! jq代码. $.ajax({ type: "post", dataType: &qu ...
随机推荐
- Action<>和Func<> 委托【代理】
C#中的Action<>和Func<> 其实他们两个都是委托[代理]的简写形式. 一.[action<>]指定那些只有输入参数,没有返回值的委托 Delegate的 ...
- [分享] 晒一晒我的Windows7_SP1封装母盘(多图,附部分工具),老鸟飘过~
[分享] 晒一晒我的Windows7_SP1封装母盘(多图,附部分工具),老鸟飘过~ 大宝贝1 发表于 2012-8-9 18:01:57 https://www.itsk.com/thread-20 ...
- python核心编程第六章练习6-9
6-9.转换.为练习5-13写一个姊妹函数,接受分钟数,返回小时数和分钟数.总时间不变,并且要求小时尽可能大.[答案]代码如下: #!/usr/bin/env python # translate m ...
- Eclipse 的 Debug 介绍与技巧
转载: Eclipse 的 Debug 介绍与技巧
- wireshark使用简介
wireshark界面简介 Wireshark是世界上最流行的网络分析工具.这个强大的工具可以捕捉网络中的数据,并为用户提供关于网络和上层协议的各种信息.与很多其他网络工具一样,Wireshark也使 ...
- 如何有效使用Project(1)——编制进度计划、保存基准
1.前言: 软件产品的研发.升级.定制等,一般都是以项目的形式进行,此时项目进度计划以及资源使用情况就变成了项目经理关注的重点.如何让项目计划有效可控,及时暴露问题?如何查看资源的负荷情况,看资源分配 ...
- 读javascript高级程序设计12-HTML5脚本编程
一.跨文档消息传递(XDM) 1.发送消息 postMessage(msg,domain)用于发送跨文档消息.第一个参数是要传递的消息内容,第二个参数表示接收方来自哪个域.第二个参数有助于提高安全性, ...
- 关于win2008r2上配置iis,出现加密代码与联邦基础加密冲突的问题的解决
在win2008r2上配置asp.net网站时,出现这个问题: This implementation is not part of the Windows Platform FIPS validat ...
- tinyXML的用法,用于解析gpx文件
tinyxml是一个开源的C++xml解析工具集,简单.轻量而又高效,所以对于处理xml文件是一个非常不错的选择. 由于它开源,所以可以方便地免费下载,下载地址百度一下很容易找到,这里就不多说了. 下 ...
- ubuntu科学计算包blas和lapack的安装
该包是高性能的线性代数计算库,两个包一般是相互依赖,因此选择同时介绍其安装: 官方发布如今是lacpack-3.5.0.tgz,获取方法是网址.但打不开,ubuntu一般用 wget http://w ...