2017-02-14 5 views
0

У меня есть фрагмент кода, написанный на CakePHP для отправки HTTP Post Request в URI и получения ответа.Эквивалент CakePHP HttpSocket в Guzzle

Я не знаю CakePHP и должен изменить это на Guzzle стиль для отправки этого HTTP Post Request.

Вот код CakePHP:

private static function sendRequest() { 
     App::uses('HttpSocket', 'Network/Http'); 
     try { 
      $HttpSocket = new HttpSocket(); 
      return trim($HttpSocket->post(self::$webserviceUri, self::$requestData, [ 
       'header' => ['Content-Type' => 'text/xml'], 
       'auth' => ['method' => 'Basic', 'user' => self::$username, 'pass' => self::$password] 
      ])); 
     } catch (SocketException $e) { 
      CakeLog::write('request_error', 'Request Error: '. $e->getMessage()); 
      return false; 
     } 
    } 

Основная цель:

Как я могу послать точно такое HTTP Post Request (выше кода) с помощью жрать?

Любая помощь будет оценена положительно.

P.S: Я использую жрать 6,2

ответ

1
$client = new Client(['auth' => ['username', 'password'], 'headers' => ['Content-Type' => 'text/xml']]); 
$client->request('POST', self::$webserviceUri, ['body' => self::$requestData]); 

Я считаю, что он должен работать, я не проверял это, но идея эта одна.

+0

'self :: $ requestData' не json! он находится в xml-типе. –

+0

@HamedKamrava извините, мое плохое, может быть, это сработает для вас, я отредактировал код. – AfikDeri

+0

Работал как шарм. Спасибо –

Смежные вопросы