前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >张嘴吃安利之 PhpStorm 中的 HTTP 客户端

张嘴吃安利之 PhpStorm 中的 HTTP 客户端

作者头像
沈唁
发布2020-12-25 11:14:29
1.8K0
发布2020-12-25 11:14:29
举报
文章被收录于专栏:沈唁志沈唁志
PhpStorm 作为一款 PHP 开发利器,内置的功能也是十分强大,例如:在 API 服务开发时,通常都会使用 Postman 或者其他方法来发送 HTTP 请求进行测试,而在 PhpStorm 中,可以直接在代码编辑器中执行这种操作

是时候抛弃Postman了,那么就有人说了这不就是 REST Client 吗?

是的,但是可以看到图中已经说了:This REST Client is deprecated.,本篇文章要说的新版的 HTTP Client,比这个 REST Client 更方便一些

GET

首先来创建一个以.http结尾的文件,创建之后我们直接写一个 URL 来测试一下简单的 GET 请求,例如:

代码语言:javascript
复制
http://httpbin.org/get

GET 请求可以省略 GET 关键字,也可以使用gtr关键字来生成一个 GET 请求模板

代码语言:javascript
复制
GET http://localhost:80/api/item
Accept: application/json

###

.http文件可以包含很多的请求,我们可以通过###来进行分割表示为一个请求

POST

然后如果要发送一个 POST 请求呢,也是同样的。分为 form 表单和 json 两种情况,form 表单的关键字为ptrp,json 的关键字为ptr

代码语言:javascript
复制
POST http://httpbin.org/post
Content-Type: application/x-www-form-urlencoded

name=PhpStrom&year=2020
代码语言:javascript
复制
POST http://httpbin.org/post
Content-Type: application/json

{
  "name": "PhpStrom",
  "year": 2020
}

授权

如果我们访问的服务需要授权,则需要在 HTTP 请求头中添加Authorization标头、身份验证方法和所需的凭据来访问

代码语言:javascript
复制
GET http://httpbin.org/basic-auth/shenyan/666
Accept: application/json
Authorization: Basic shenyan 666

这样就把请求授权信息作为了请求的一部分,在团队开发中每个人的信息都会不同,而且这些信息如果提交到 git 当中也不是很好

那么我们应该如何去做呢?这里就要说到变量了

变量

其中的账号和密码我们可以使用变量,当然 host 也可以使用变量,使用变量来替换我们所需要的值,在 HTTP Client 中,变量需要使用{{}}括起来,如:{{host}}{{user}}

代码语言:javascript
复制
GET http://{{host}}/basic-auth/{{user}}/{{password}}
Accept: application/json
Authorization: Basic {{user}} {{password}}

同样的我们从哪里获取到这些变量所对应的值呢?这里就需要配置文件了,创建一个新文件命名为http-client.env.json,写入一些内容:

代码语言:javascript
复制
{
  "develop": {
    "host": "httpbin.org",
    "port": "8080",
  },
  "alpha": {
    "host": "httpbin.org"
  }
}

在这个文件中我们可以定义代表特定服务器(开发、测试等)的环境以及该服务器的一些变量,在点击绿色的三角Run with时就会让我们选择所需要运行的服务器环境

然后就会读取对应的变量,这时我们可以把http-client.env.json也提交到 git 上,但是这样依旧会暴露敏感信息,这时我们还可以再创建一个http-client.private.env.json文件用于保存敏感数据,然后再文件中复制对应的环境,提供用户名和密码

代码语言:javascript
复制
{
  "develop": {
    "user": "shenyan",
    "password": "666"
  }
}

这样当我们再次运行请求时,PhpStorm 就会用实际值来替换变量

想了解更多关于 HTTP Client 的用法可以前往PhpStorm 博客[1]或者HTTP 客户端文档[2]

参考资料

[1]

PhpStorm 博客: https://blog.jetbrains.com/cn/2020/03/phpstorm-client/

[2]

HTTP 客户端文档: https://www.jetbrains.com/help/phpstorm/http-client-in-product-code-editor.html

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-06-27,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 沈唁志 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • GET
  • POST
  • 授权
  • 变量
    • 参考资料
    相关产品与服务
    API 网关
    腾讯云 API 网关(API Gateway)是腾讯云推出的一种 API 托管服务,能提供 API 的完整生命周期管理,包括创建、维护、发布、运行、下线等。
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档