2016-11-21 6 views
4

にがつがつ食うためにcURLの要求を変換します私はCodeIgniterの中で、次のようなカールの要求を持っているLaravel

$order = [ 
    'index' => 'Value', 
    'index2' => 'Value2' 
]; 

$this->curl->create($this->base_url.'order/'); 
$this->curl->http_login($creds['username'], $creds['password']); 
$this->curl->ssl(TRUE, 2, 'certificates/certificate.pem'); 
$this->curl->option(CURLOPT_HTTPHEADER, array('Content-Type: application/json', 'Accept: application/json')); 
$this->curl->option(CURLOPT_FAILONERROR, FALSE); 

$this->curl->post(json_encode($order)); 
$data = $this->curl->execute(); 

今、私はがつがつ食うを使用していますLaravel、中に同じ要求を発行する必要があります。これをどのようにしてGuzzleリクエストに変換できますか?

答えて

0

非常に、非常に簡単:これはLaravelとは何の関係もないことを

$client = new GuzzleHttp\Client(['base_uri' => $this->base_url]); 

$response = $client->request('POST', 'order/', [ 
    'form_params' => $order, 
    'headers' => [ 
    'Content-Type' => 'application/json', 
    'Accept' => 'application/json' 
    ], 
    'auth' => [$creds['username'], $creds['password']], 
    'http_errors' => false, 
    'verify' => 'certificates/certificate.pem' 
]); 

echo $response->getBody(); 

注、それだけでがつがつ食うます。 Laravelは何らかの形でGuzzle APIに影響を与えません。

+0

SSLと証明書はどうですか? –

+0

@HappyCoder GuzzleはデフォルトでSSLリクエストをサポートしていますが、base_url()はhttps:// –

+0

@HappyCoderで始まる文字列を返しますが、自己署名証明書を使用している場合は 'verify' => '証明書SSL証明書チェックを無効にするには、/ certert.pem 'または' verify '=> falseを入力してください。 –

関連する問題