我在 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/