首页 > 编程语言 >php扩展Guzzle 封装post请求

php扩展Guzzle 封装post请求

时间:2023-09-12 18:03:39浏览次数:38  
标签:body 请求 response Guzzle client post php Client

https://guzzle-cn.readthedocs.io/zh_CN/latest/

Guzzle是一个PHP的HTTP客户端,用来轻而易举地发送请求,并集成到我们的WEB服务上。

测试用的windows环境

安装

composer require guzzlehttp/guzzle:~6.0

使用

use GuzzleHttp\Client;
$client = new Client();
$url = "http://www.xxx.com";
$response = $client->post($url, ['json'=>$data]);
//如果状态时200,并且返回内容是否为 ok
if ($response->getStatusCode() == 200 && strcasecmp('ok', $response->getBody()->getContents()) == 0) {
  //作出处理
} else {
  //作出处理
}
  1. Guzzle的常用GET请求示例:
use GuzzleHttp\Client;

$client = new Client();

$response = $client->request('GET', 'https://api.example.com/data');

$status = $response->getStatusCode();
$body = $response->getBody()->getContents();

echo "Status code: " . $status . PHP_EOL;
echo "Response body: " . $body . PHP_EOL;
  1. Guzzle的常用POST请求示例:
use GuzzleHttp\Client;

$client = new Client();

$response = $client->request('POST', 'https://api.example.com/submit', [
    'form_params' => [
        'name' => 'John Doe',
        'email' => '[email protected]',
        'message' => 'Hello, Guzzle!'
    ]
]);

$status = $response->getStatusCode();
$body = $response->getBody()->getContents();

echo "Status code: " . $status . PHP_EOL;
echo "Response body: " . $body . PHP_EOL;

以上示例中,我们使用了Guzzle的Client类来发送GET和POST请求。在GET请求中,我们使用request方法指定请求的方法为GET,并传入请求的URL。在POST请求中,我们使用request方法指定请求的方法为POST,并传入请求的URL和要提交的表单参数。

标签:body,请求,response,Guzzle,client,post,php,Client
From: https://blog.51cto.com/u_15668841/7447032

相关文章

  • Spring源码分析(六)容器的扩展点(BeanFactoryPostProcessor)
    之前的文章我写了BeanDefinition的基本概念和合并,其中很对次提到了容器的扩展点,这篇文章就写这方面的知识。这部分的内容主要涉及到官网的1.8小节。按照官网介绍来说,容器的扩展点可以分为三类,BeanPostProcessor,BeanFactoryPostProcessor以及FactoryBean。本文主要讲BeanFactoryPost......
  • Docker配置PostgreSQL数据本地持久化
    原文:https://www.cnblogs.com/yangyangming/p/13502405.html主机中的本地目录作为Docker容器内的持久存储卷装载,以便在主机和Docker容器之间共享数据。如果主机希望访问或定期备份在Docker容器内运行的DB服务器写入文件夹的数据或数据库,则此方法非常有用。创建本地数据卷#创建......
  • postgis如何判断要素的类型&判断要素的个数
    st_geometrytypeST_NumGeometries而ST_GeometryN是?参考:https://qastack.cn/gis/28835/changing-geometry-type-from-point-to-multipoint-within-existing-table-in-postgis......
  • OGG-Postgres实时同步到Kafka
    (一)数据同步信息名称源端名称目标端数据库类型Postgresql12.4组件类型KafkaIP地址20.2.127.23Broker地址20.2.125.52:9092,20.2.127.23:9092,20.2.127.24:9092端口5432端口9092数据库testpdbZookeeperHa......
  • 记录一个比较完善的php的curl请求方法的demo
    functionhttpRequest($url,$dataStr="",$isPost=0,$headers=[]){$httpInfo=[];$ch=curl_init();curl_setopt($ch,CURLOPT_HTTP_VERSION,CURL_HTTP_VERSION_1_0);curl_setopt($ch,CURLOPT_USERAGENT,"Mozilla/5.0(Window......
  • 在thinkphp6中使用leftJoin时,怎么使用REPLACE?
    在ThinkPHP6中,你可以使用db()函数来构建复杂的SQL查询,以实现JOIN并使用REPLACE函数。可以按照以下方式修改你的代码:$res->leftJoin('work','work.workID=REPLACE(entry_in.workID,"JP","")')->where('work.customer_id',$customer_id);在这......
  • 关于Kubernetes-v1.23-pod-生命周期-postStart-preStop-terminationGracePeriodSecond
    我们在一个pod的yaml配置文件中,有时会看到,terminationGracePeriodSeconds选项,与containers:同级,一般可以放于spec:下面即可是当pod,变为删除的状态后,会给pod一个宽限期,让pod去执行一些清理或者销毁操作另外还有两个选项,postStart,preStop,这两个是位于lifecycle,属于pod生命周期......
  • Apipost:API开发者的协同工作神器
    在当今快速发展的数字化时代,API已成为企业与开发者实现数据互通、应用集成的重要桥梁。然而,随着API数量的不断增加,API开发、调试、测试、文档等工作也变得越来越复杂。为了解决这一痛点,一款名为Apipost的API协同研发工具应运而生。成功案例许多知名的公司和团队都在使用Apipost。从......
  • Apipost:API开发者的协同工作神器
    在当今快速发展的数字化时代,API已成为企业与开发者实现数据互通、应用集成的重要桥梁。然而,随着API数量的不断增加,API开发、调试、测试、文档等工作也变得越来越复杂。为了解决这一痛点,一款名为Apipost的API协同研发工具应运而生。成功案例许多知名的公司和团队都在使用Apipost......
  • OGG-Postgres同步到MySQL
    (一)数据库信息名称源端数据库目标端数据库数据库类型Postgresql12.4MySQL5.7IP地址20.2.127.2320.2.127.24端口54323306数据库testpdbtest用户ogguserroot密码ogguserP2021Root@1234 postg......