CakePHP中的HttpSocket等价于
问题描述:
我有一段代码,它用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
答
$client = new Client(['auth' => ['username', 'password'], 'headers' => ['Content-Type' => 'text/xml']]);
$client->request('POST', self::$webserviceUri, ['body' => self::$requestData]);
我相信它应该工作,我没有测试出来,但想法是这一个。
'self :: $ requestData'不是json!它是xml类型。 –
@HamedKamrava对不起,我的坏,也许这一个会为你工作,我编辑了代码。 – AfikDeri
工作就像一个魅力。谢谢 –