用 guzzle 發送一個包含指定請求頭,請求體的 post 請求,並獲取指定內容:php
1 <?php 2 3 include_once "guzzle.phar"; 4 use GuzzleHttp\Client; 5 use GuzzleHttp\Psr7\Request; 6 use Psr\Http\Message\ResponseInterface; 7 8 $base_uri = "127.0.0.1:8082/"; 9 10 $method = "POST";//請求方式 11 12 $data = array( 13 "xxxx" => "xxx", 14 ); 15 16 $headers = array(//添加請求頭 17 "Authorization" => " Basic " . base64_encode("testing:dhskln") 18 ); 19 20 $options = array(//請求體 21 "headers" => $headers, 22 "body" => json_encode($data), 23 ); 24 25 $send_request = new Client(["base_uri" => $base_uri]); 26 27 $api = "host/test"; 28 29 $result = $send_request->request($method, $api, $options); 30 31 print_r($result); 32 33 $code = $result->getStatusCode(); // 獲取響應碼 34 echo $code; 35 $body = $result->getBody();//獲取返回體 36 echo $body;
遇到的問題1:html
雖然代碼中加了 use GuzzleHttp\Client;,可是沒有引用 guzzle.pahr 文件json
解決方法:在 use 前加上 include_once "guzzle.phar"; 便可api
遇到的問題2:post
body 沒有使用 json 編碼ui
解決方法:編碼
詳細的 guzzle 使用文檔見:https://guzzle-cn.readthedocs.io/zh_CN/latest/quickstart.htmlspa