2017-02-14 141 views
0

我有一段代碼,它用CakePHP編寫,用於發送HTTP Post Request到URI並獲得響應。CakePHP中的HttpSocket等價於

我不知道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請求(上面的代碼)?

任何幫助將不勝感激。

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

工作就像一個魅力。謝謝 –