PHP转Go系列 | GET 和 POST 哀求的使用姿势

打印 上一主题 下一主题

主题 885|帖子 885|积分 2655

各人好,我是码农先森。
说到 HTTP 哀求工具想必对我们做 Web 开辟的程序员都不陌生,只要涉及到网络哀求都必须使用。对于我们 PHP 程序员来说,最熟悉不外的就是 CURL 扩展,只要安装的这个扩展便可随意发起 HTTP 哀求。 但在 PHP 语言中另有一个很好用的 Composer 包「guzzlehttp/guzzle」,相信各人只要做 PHP 开辟的都接触过。
转到 Go 语言后,有些人也会在想 Go 中有没有这样的工具包呢?说真话,我从事 Go 语言开辟这么挺久,也始终没有发现有类似 guzzle 这么好用的工具包。我想此中的原因可能是 Go 语言的官方标准库中提供了「net/http」工具,这个也能满足日常的开辟需求,各人也就没有想再造轮子的兴趣了。话不多说,接下来我们开始先容在 PHP 语言和 Go 语言中的使用姿势。
在 php_http 目次下中使用 Composer 下令安装 guzzle 包。
  1. [manongsen@root ~]$ pwd
  2. /home/manongsen/workspace/php_to_go/php_http
  3. [manongsen@root php_http]$ composer require guzzlehttp/guzzle
复制代码
在 go_http 目次下中使用 go mod init 初始化 Go 项目。
  1. [manongsen@root ~]$ pwd
  2. /home/manongsen/workspace/php_to_go/go_http
  3. [manongsen@root go_http]$ go mod init go_http
复制代码
这是初始化完成后的项目结构。
  1. [manongsen@root php_to_go]$ tree -L 2
  2. .
  3. ├── README.md
  4. ├── go_http
  5. │   ├── go.mod
  6. │   ├── go.sum
  7. │   └── main.go
  8. └── php_http
  9.     ├── composer.json
  10.     ├── composer.lock
  11.     ├── index.php
  12.     └── vendor
复制代码
这次我们重要先容最常用的两种哀求方法,分别是 GET 哀求和 POST 哀求。
在 PHP 中先通过 require 加载到 GuzzleHttp 类库,然后实例化 \GuzzleHttp\Client 类,并通过构造函数设置 base_uri 和 timeout 参数,再基于 $client 对象发起 GET 哀求和 POST 哀求,在使用过程中需要注意捕获异常情况。
[code]// php_to_go/php_http/index.php
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

盛世宏图

金牌会员
这个人很懒什么都没写!
快速回复 返回顶部 返回列表