2016-11-21 2 views
4

에 폭식하는 컬 요청을 변환 :나는 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'=> '인증서/certert.pem '또는'verify '=> false로 SSL 인증서 확인을 비활성화하십시오. –