我有一个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);
}
答案 0 :(得分:0)
我认为您应该使用PUT,因为Post仅用于传递数据。 PUT用于文件目的。
http://api.cakephp.org/2.3/class-HttpSocket.html#_put