我在 Codeigniter 中有一个如下所示的 curl 请求:

$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。如何将其转换为 Guzzle 请求?

最佳答案

非常非常简单:

$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。 Laravel 不会以任何方式影响 Guzzle API。

关于php - 在 Laravel 中将 cURL 请求转换为 Guzzle,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40713150/

10-11 03:32