我有一段用CakePHP编写的代码,用于将HTTP Post Request
发送到URI并获得响应。
我不了解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;
}
}
主要目标是:
如何使用Guzzle发送完整的HTTP Post Request(上面的代码)?
任何帮助都会非常感激。
P.S: 我使用的是Guzzle 6.2
答案 0 :(得分:1)
$client = new Client(['auth' => ['username', 'password'], 'headers' => ['Content-Type' => 'text/xml']]);
$client->request('POST', self::$webserviceUri, ['body' => self::$requestData]);
我相信它应该有效,我还没有测试过,但这个想法就是这个。