2

HTTPソケットを承認し、そのソケットを使用してリモートサーバーからファイルをアップロードするCakePHP関数があります。そのサーバー上の一部のファイルではすべてが正常に機能しますが、一部のファイルは完全に転送されません。

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);
}
4

1 に答える 1

0

Post はデータのみを渡すためのものなので、代わりに PUT を使用する必要があると思います。PUT はファイル用です。

http://api.cakephp.org/2.3/class-HttpSocket.html#_put
于 2013-12-27T21:46:26.063 に答える