Pythonとurlib2を使用してサーバーからファイルをダウンロードすると、ファイルの内容が本来の内容とわずかに異なります。
ダウンロードしたバージョンのファイルに余分な行( "\ r\n"または"\n")が追加されているという点で異なります。これは、xml形式のファイルでは大きな問題ではありませんが、ファイルの内容がわずかに異なり、復号化できないため、ファイルが暗号化されている場合の大きな問題です。
FTPを使用してそのファイルをダウンロードし、その方法でダウンロードしたときに正しい内容であることがわかったため、サーバー上のファイルが間違っているのではなく、ファイルの内容を変更するダウンロードコードを知っています。さらに役立つ情報:ファイルはASCIIエンコードされています。私のサーバーはWindows.NETであり、http応答がASCIIなのかUnicodeなのかわからないのですが、それが問題の原因になっている可能性がありますか?
urlib2にサーバーからファイルをダウンロードさせ、コンテンツが変更されないようにするにはどうすればよいですか?
元のコンテンツ:
<clientlist>
<client>
<clientauthblah>blah</clientauthblah>
<version9>blah</version9>
<version10>blah</version10>
<companyno>1</companyno>
<companyname>blah</companyname>
</client>
ダウンロードコードを実行すると、これは取得したコンテンツです。これは、ファイルが暗号化されているために取得できないものであり、ファイルを復号化できないことを意味します。
<clientlist>
<client>
<clientauthblah>blah</clientauthblah>
<version9>blah</version9>
<version10>blah</version10>
<companyno>1</companyno>
<companyname>blah</companyname>
</client>
これが私のコードです:
# Download
response = urllib2.urlopen("http://www.mywebsite.com/Clients.xml")
output = open("tempEncrypted.xml",'w')
res = response.read()
output.write(res)
output.close()