当我们在做php开发的时候,很多时候需要对接口进行测试,或者更方便的调用一些已有模块的接口,取到结果并进行后续操作,我们可以通过curl进行模拟提交post和get请求,来去实现这些功能。

下面是对curl的post和get的封装

  1. <?php
  2. /**
  3. * Created by PhpStorm.
  4. * User: thinkpad
  5. * Date: 2015/7/17 0017
  6. * Time: 13:24
  7. */
  8. class Action
  9. {
  10. public static function curl_get($url){
  11. $testurl = $url;
  12. $ch = curl_init();
  13. curl_setopt($ch, CURLOPT_URL, $testurl);
  14. //参数为1表示传输数据,为0表示直接输出显示。
  15. curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
  16. //参数为0表示不带头文件,为1表示带头文件
  17. curl_setopt($ch, CURLOPT_HEADER,0);
  18. $output = curl_exec($ch);
  19. curl_close($ch);
  20. return $output;
  21. }
  22. /*
  23. * url:访问路径
  24. * array:要传递的数组
  25. * */
  26. public static function curl_post($url,$array){
  27. $curl = curl_init();
  28. //设置提交的url
  29. curl_setopt($curl, CURLOPT_URL, $url);
  30. //设置头文件的信息作为数据流输出
  31. curl_setopt($curl, CURLOPT_HEADER, 0);
  32. //设置获取的信息以文件流的形式返回,而不是直接输出。
  33. curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
  34. //设置post方式提交
  35. curl_setopt($curl, CURLOPT_POST, 1);
  36. //设置post数据
  37. $post_data = $array;
  38. curl_setopt($curl, CURLOPT_POSTFIELDS, $post_data);
  39. //执行命令
  40. $data = curl_exec($curl);
  41. //关闭URL请求
  42. curl_close($curl);
  43. //获得数据并返回
  44. return $data;
  45. }
  46. }

之后就可以通过CURL::curl_post($url,$array)或者CURL::curl_get($url);的方式调用接口并得到数据了。

php curl请求接口并获取数据的更多相关文章

  1. vue 配合vue-resource调用接口,获取数据

    1.先用node+express+mysql简单配置一下后台 const express = require('express');const mysql = require('mysql');con ...

  2. 微信小程序:wx.request之post请求后端无法获取数据的问题

    前言:小程序的开发中总是踩到各种坑,看文档也不知所云: 例如当我们在写微信小程序接口时,method请求方式有POST和GET两种,为了数据安全,我们会偏向于使用POST请求方式访问服务器端: 问题: ...

  3. PHP中使用CURL模拟登录并获取数据实例

    cURL 是一个功能强大的PHP库,使用PHP的cURL库可以简单和有效地抓取网页并采集内容,设置cookie完成模拟登录网页,curl提供了丰富的函数,开发者可以从PHP手册中获取更多关于cURL信 ...

  4. 基于NIO的同步非阻塞编程完整案例,客户端发送请求,服务端获取数据并返回给客户端数据,客户端获取返回数据

    这块还是挺复杂的,挺难理解,但是多练几遍,多看看研究研究其实也就那样,就是一个Selector轮询的过程,这里想要双向通信,客户端和服务端都需要一个Selector,并一直轮询, 直接贴代码: Ser ...

  5. 谷歌翻译使用php curl请求接口文档

    支持语言 阿拉伯语代码 ar 英语代码 en 中文(简体)代码 zh-CN php中curl类常用方法封装和详解 REST API Method translate POST /language/tr ...

  6. PHP 之 CURL 模拟登陆并获取数据

    1.CURL模拟登陆的流程和步骤 2.tempnam 创建一个临时文件 3.使用CURL模拟登陆到PHP100论坛 <?php $cookie_file = tempnam('./temp',' ...

  7. 【转】PHP 之 CURL 模拟登陆并获取数据

    1.CURL模拟登陆的流程和步骤2.tempnam 创建一个临时文件3.使用CURL模拟登陆到PHP100论坛 <?php$cookie_file = tempnam('./temp','coo ...

  8. CURL请求接口

    private function  http_curl($url,$data=null){ //1.初始化,创建一个新cURL资源                 $ch = curl_init(); ...

  9. curl请求接口返回false,错误码60

    我讲一下我遇到的这个问题,是因为最近服务器加了https导致的,网上找到了答案,加上这句 curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); 就可以正常返 ...

随机推荐

  1. .Net Core 定时器Quartz

    最近因为项目需要用到了Quartz,下面简单记录一下. 一.首先需要安装Quartz. 二.定义一个执行的Job类,实现IJob接口,接口有一个方法Execute,用来执行定时任务的实现内容. pub ...

  2. docker:如何查看容器的挂载目录

    docker inspect container_name | grep Mounts -A 20 docker inspect container_id | grep Mounts -A 20 [r ...

  3. 在MAC上安装gitlab

    转载引用:https://www.cnblogs.com/floodwater/p/10138265.html 1.安装docker 2.安装gitlab-ce 1.安装docker 下载地址: ht ...

  4. Haar-like特征来龙去脉

    Haar-like特征来龙去脉 声明:引用请注明出处http://blog.csdn.net/lg1259156776/ haar-like特征概念 haar-like特征是是计算机视觉领域一种常用的 ...

  5. CenOS 7 安装Tomcat

    1.首先需要安装jdk yum install java-1.8.0-openjdk-devel.x86_64 2.下载 http://mirrors.tuna.tsinghua.edu.cn/apa ...

  6. Python 【文件的读写】

    文件读写 A 读取文件 读文件三步:开——读——关.file1 = open('/Users/Ted/Desktop/test/abc.txt','r',encoding='utf-8')第一个参数是 ...

  7. TCP三次握手和四次挥手及wireshark抓取

    TCP的三次握手与四次挥手的详细介绍: 三次握手: 第一次握手(SYN=1, seq=x): 客户端发送客户端发送一个 TCP 的 SYN 标志位置1的,指明客户端打算连接的服务器的端口,以及初始序号 ...

  8. golang goroutine进行通信 channel

    1.channel的读取与声明 //goroutine之间利用channel进行通信 package main import ( "fmt" "time" ) ...

  9. SAS学习笔记45 宏系统选项及其他

    关于宏的系统选项 MCOMPILENOTE=NONE|NOAUTOCALL|ALL 该系统选项控制是否在日志当中显示宏程序编译时的信息,默认值为NONE,也就是不显示.其中NOAUTOCALL针对的是 ...

  10. 三种redis数据导出导入方式

    推荐博客链接:https://www.cnblogs.com/hjfeng1988/p/7146009.html https://blog.csdn.net/qq_14945847/article/d ...