php(curl请求)测试接口案例

请求测试接口,如下:

$data = [‘mobilephone‘=>‘123‘,‘password‘=>‘124‘];
$result = curlrequest($apiUrl,$data);
if($result[‘statusCode‘] == 200){
    echo json_encode($result);
}else{
    echo json_encode($result);
}

curl请求url方法,如下:

/**
 * @param string $url 请求地址
 * @param string $data 请求数据
 * @param string $method 请求方式
 * @return array 一维数组
*/
function curlrequest($url,$data = ‘‘,$method = ‘POST‘){
    $ch = curl_init(); //初始化CURL句柄
    curl_setopt($ch, CURLOPT_URL, $url); //设置请求的URL
    curl_setopt($ch, CURLOPT_RETURNTRANSFER,1); //设为TRUE把curl_exec()结果转化为字串,而s不是直接输出
    curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $method); //设置请求方式

    curl_setopt($ch,CURLOPT_HTTPHEADER,array("X-HTTP-Method-Override: $method"));//设置HTTP头信息
    curl_setopt($ch, CURLOPT_POSTFIELDS, $data);//设置提交的字符串
    $document = curl_exec($ch);//执行预定义的CURL
    $statusCode = curl_getinfo($ch,CURLINFO_HTTP_CODE); //获取HTTP请求状态码~
    curl_close($ch);

    $document = json_decode(removeBOM($document),true);
    $document[‘statusCode‘] = $statusCode;
    return $document;
}

如果返回的json结果中出现乱码,那么需要去除BOM,如下:

/**
 * @param string $str 字符串
 * @return string 去除BOM以后的字符串
*/
function removeBOM($str = ‘‘)
{
    if (substr($str, 0,3) == pack("CCC",0xef,0xbb,0xbf)) {
        $str = substr($str, 3);
    }
    return $str;
}
时间: 2024-10-07 09:21:01

php(curl请求)测试接口案例的相关文章

PHP Curl请求Https接口

在请求http的时候只需要 file_get_contents("http://www.sojson.com/open/api/weather/json.shtml?city=$Position");就可以了,但是发现这个接口现在变成了https协议了还用这种方法就会403首先看看PHP有没有curl扩展,我是7.2 我用的是Laravel社区的封装好的方法 public static function curl($url, $params = false, $ispost = 0,

发送post请求的接口

一.简介 所有系统或者软件.网站都是从登录开始,所以首先介绍的第一个post请求是登录. 二.help函数 学习一个新的模块捷径,直接用help()函数查看相关注释和案例内容 for example: import requests help(requests) 三.发送post请求的接口(dict参数) 1.用python提供的发送post请求的接口案例,稍稍地做个简单修改,就可以发个简单的post 请求 2.像官方文档给出的案例将payload 参数是字典类型(dict),传到如下图的 fo

用php curl请求接口碰到的问题总结

用php curl请求接口碰到的问题 今天碰到个用php扩展curl类库命令实现linux curl的情况,碰到了一些小问题,总结总结. 场景 向资源方请求实现某种功能.相关同学给出了例子: curl -v -XPOST -u username:abcpass\; -H "Content-Type: application/json" --data '{"sv":"ddcd"}' 'http://api.test.com/alert' 先找框架里

在线HTTP POST/GET模拟请求api接口http请求测试工具https://post.jsonin.com/

在线HTTP POST/GET模拟请求api接口http请求测试工具 在线POST/GET接口测试工具https://post.jsonin.com/ Json在线解析及格式化校验工具 https://jsonin.com/ 原文地址:https://www.cnblogs.com/daxiangxm/p/postjson.html

nginx+php下curl请求https报502错

在做公司项目的时候使用了第三方的API接口,且接口采用的是https请求,在本地的wamp集成环境开发测试正常,放到服务器上结果报错 nginx 502 bad gateway.在论坛中爬楼了几天今天终于找到原因,php版本问题: 公司项目线上环境: 服务器安装了wdcp其中nginx是1.4.2版本 php是5.2.17版本 部署项目上去后,怎么运行都报502错,刚开始怀疑是nginx配置问题,百度了许久说请求https需要ssl于是配置了nginx的ssl后问题依旧,无奈只好继续搜索答案.

[CXF REST标准实战系列] 二、Spring4.0 整合 CXF3.0,实现测试接口(转)

转自:[CXF REST标准实战系列] 二.Spring4.0 整合 CXF3.0,实现测试接口 文章Points: 1.介绍RESTful架构风格 2.Spring配置CXF 3.三层初设计,实现WebService接口层 4.撰写HTTPClient 客户端,并实现简单调用 介绍RESTful架构风格 REST是REST之父Roy Thomas创造的,当时提出来了REST的6个特点:客户端-服务器的.无状态的.可缓存的.统一接口.分层系统和按需编码.其具有跨语言和跨平台的优势. REST是一

Jmeter HTTP接口案例开发、调试方法

HTTP接口案例案例开发的步骤为: 1.了解要开发案例的业务流程,比如新增案例,是否有其它前置条件,如果有,就需要先开发好前置条件的案例 2.手工开发案例或者通过jmeter录制功能开发案例 3.对案例进行调试,响应结果和预期结果一致,则案例开发完成 对于简单的案例,建议直接手工编写,涉及到上传附件.导入excel,等复杂案例建议录制脚本 一.开发脚本 手工编写脚本 本次案例为新增角色,一般我们使用谷歌浏览器进行页面操作,然后按F12显示接口请求 输入必填项,点击保存按钮,接口请求显示如下,根据

Nginx+Php不支持并发,导致curl请求卡死(Window环境)

1.问题描述:项目中开发很多对外接口,于是在本项目中写了测试脚本来验证接口.然鹅,发现Curl请求出现卡死情况,没有响应. 2.具体原因:在window环境下配置的nginx+php环境时,windows下,是没有php-fpm的,有的是 php-cgi.exe:也就是,当本地配置了多个域名,并且同时指向你本地服务请求的时候,就不支持了. 3.解决方案:我这里有两个服务,所以分别配置成不同的端口号如,然后保存重启 nginxfastcgi_pass = 127.0.0.1:9000fastcgi

[转]微信公众平台(测试接口)开发前的准备工作(转载自walkingmanc的专栏)

本文转自:http://blog.csdn.net/jiangweicpu/article/details/21228949 http://blog.csdn.net/walkingmanc/article/details/21457097第二讲 探秘微信公众号 1.   申请微信公众号 我们要进行微信公众平台的开发,第一步当然是要有公众号了.什么?不知道什么是微信公众号,看来你还要先回炉炼炼了,呵呵.通俗的说,我们微信平台就好像是一个大社会,里面有个体人,也有各种组织机构.你自己使用的普通微信