2017-02-14 1 views
0

Ich habe ein Stück Code, der in CakePHP zum Senden einer HTTP Post Request an einen URI geschrieben und erhalten Antwort.Äquivalent von CakePHP HttpSocket in Guzzle

Ich kenne CakePHP nicht und muss das in Guzzle Style für das Senden dieser HTTP Post Request ändern.

Hier ist die CakePHP Code:

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; 
     } 
    } 

Das Hauptziel ist:

Wie kann ich senden genau eine solche HTTP Post Request (oben Code) durch Guzzle mit?

Jede Hilfe wäre sehr geschätzt.

P. S: Ich verwende Guzzle 6,2

Antwort

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

Ich glaube es sollte funktionieren, ich habe es nicht getestet, aber die Idee ist, dieses.

+0

'self :: $ requestData' ist nicht json! Es ist in XML-Typ. –

+0

@HamedKamrava Sorry, mein Schlechter, vielleicht wird dieser für dich arbeiten, ich habe den Code bearbeitet. – AfikDeri

+0

Arbeitete Wie ein Charme. Danke –