当我使用 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()