ユーザ用ツール

サイト用ツール


サイドバー

このページの翻訳:



最近の更新



Tag Cloud

11_php:02_framework:01_laravel:35_laravel_guzzle

文書の過去の版を表示しています。


35 Laravel Curlの代わりにGuzzleを使う

Crulより簡単で、シンプルに書ける

guzzlehttp/guzzle 6.3.3

インストール

composer require guzzlehttp/guzzle

シンプル利用

use GuzzleHttp\Client;

$url = 'https://hoge.hogehoge.com;
$ip = '192.168.10.11';
$port = '25';
$client = new Client();
$response = $client->request(
    'POST',
    $url,
    [
    'form_params' => [ 'ip' => $ip, 'port'=> $port],
    'verify' => false
    ]
    );

echo $response->getStatusCode(); // 200
echo $response->getReasonPhrase(); // OK
echo $response->getProtocolVersion(); // 1.1
// レスポンスボディを取得
$responseBody = $response->getBody()->getContents();

XML_RPC

Controller

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use GuzzleHttp\Client;

class XmlRpc extends Controller
{
    protected $url;
    protected $user;
    protected $password;
    public function __construct($url='', $user='', $password='')
    {
        $this->url      = $url;
        $this->user     = $user;
        $this->password = $password;
    }
    public function send($method, $params = [])
    {
        $auth = ['login' => $this->user, 'password' => $this->password];
        $params = [$auth, $params];
        $body     = xmlrpc_encode_request($method, $params);
        //print_r($body);
        $response = (new Client)->post($this->url, [
            'body' => $body,
            'auth' => [$this->user, $this->password]
        ]);
        return $response->getBody()->getContents();
    }
}

呼び出し部分

$XmlRcp =  new App\Http\Controllers\XmlRpc($url, $user, $pass);
$XmlRcp->send('partner10.getKeyInfo', 'PLSK.XXXXXXXX.XXXX')
11_php/02_framework/01_laravel/35_laravel_guzzle.1574664960.txt.gz · 最終更新: 2019/11/25 15:56 by matsui