我有一个cakephp函数,它授权一个http套接字,然后使用该套接字从远程服务器上传文件。对服务器上的某些文件来说,一切正常,但其中一些文件没有完全传输。
我看了wireshark上发生的事情(虽然我了解得很少),我的服务器似乎正在发送ssl警报21,我相信这意味着它无法解密接收到的数据。然后它开始向远程服务器发送被忽略的重置请求。
当我通过浏览器下载文件时,文件下载很好。我现在完全被卡住了,还有什么我可以看的吗?
public function connect() {
$httpSocket = new HttpSocket();
$zipFile = fopen(TMP . 'cif_schedule.gz', 'w');
$postData = array('j_username' => 'my_username', 'j_password' => 'my_password');
$authResponse = $httpSocket->post('https://login_url', $postData, array('redirect' => true));
$httpSocket->setContentResource($zipFile);
$fileResponse = $httpSocket->get('file_url', array(), array('redirect' => true));
fclose($zipFile);
}
最佳答案
我认为应该改用put,因为post只用于传递数据。
Put用于归档。
http://api.cakephp.org/2.3/class-HttpSocket.html#_put
关于file - CakePHP HTTPsocket POST文件上传,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12025245/