Magento 1.9 - PUT 请求作为 GET 发送

Magento 1.9 - PUT requests sent as GET

我正在尝试从我的 magento 站点向外部 API 发出 PUT 请求。 GET 和 POST 请求工作正常。

这是我正在使用的代码:

$params = 'param1/param2';
$client = new Varien_Http_Client($this->_ip . 'myMethod/' . $params);
$client->setMethod(Varien_Http_Client::PUT); // POST and GET work fine
$response = $client->request(); 

如果我检查网络服务器,收到 GET 请求!!!

我使用 REST 客户端发出了相同的 PUT 请求:

PUT http://MyIP/myMethod/param1/param2

它工作正常,所以问题不在于不允许 PUT 请求的 Web 服务器,而可能是我的 Magento 代码,它发送的是 GET 而不是 PUT。我已尝试调试,客户端的方法已正确设置为 PUT。

我看不出这里有什么问题。

谢谢!

太棒了!

它使用了:

$params = 'param1/param2';
$client = new Zend_Http_Client($this->_ip . 'myMethod/' . $params);
$response = $client->request('PUT');

谁能解释一下? Varien_Http_Client 和 PUT 方法有什么问题?