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