実際には、HTTP-POST呼び出しに基づいてAPIにアクセスするRubyスクリプトを作成しています。 APIは、特定のPOSTパラメータで呼び出すときにtextdocumentsを含むzipファイルを返します。現時点では、私はNet :: HTTPパッケージでそれをやっています。ルビー書き込みzipファイルはMacでは動作しますが、Windowsでは動作しません。Net :: HTTPでZIPファイルを受け取る方法
今私の問題: 私が知る限り、zipファイルを文字列として返すようです。私は "PK"(私はZIPファイルのPKヘッダの一部であると思われる)とその文書からのテキストを見ることができます。
そして、Content-Typeヘッダーは "application/x-zip-compressed; name =" somename.zip ""と言っています。
は、私はそうのようにzipファイルを保存する場合:
result = comodo.get_cert("<somenumber>")
puts result['Content-Type']
puts result.inspect
puts result.body
File.open("test.zip", "w") do |file|
file.write result.body
end
私はさらに問題もなく私のMacBook上でそれを解凍することができます。しかし、Win10 PCで同じコードを実行すると、ファイルが壊れているか、ZIPファイルではないことがわかります。
エンコードと何か関係がありますか?私はそれを変更することができます、それで両方に取り組んでいますか? POSTリクエストからzipファイルを受け取る方法について完全に間違ったアプローチですか?
PS: Mac上で私のルビーバージョン:
ruby 2.2.3p173
Windows上で私のルビーバージョン:事前に
ruby 2.2.4p230
多くの感謝!