python文件URL编码中的问题

2024-09-29 17:19:57 发布

您现在位置:Python中文网/ 问答频道 /正文

因此,我正在执行的过程对我来说似乎是合乎逻辑的,但我总是得到一个错误。所以我有一个二进制文件,我正试图发送到服务器(确切地说是Shapeways)。它是一个二进制的3d模型文件),所以我通过这个过程使它在URL中可以接受

theFile = open(fileloc,'rb')
contents = theFile.read()
b64 = base64.urlsafe_b64encode(contents)
url = urllib.urlencode(b64)  # error

问题是最后一行总是抛出错误

^{pr2}$

这对我来说没有意义,因为数据被假定为url编码。它是否可能仅仅包含其他未编码的字符或类似的字符?在


Tags: 文件模型服务器url编码过程错误contents
2条回答

如果您只是尝试将文件发送到服务器,则不需要对其进行urlencode。使用POST请求发送它。在

您可以使用urllib2,也可以使用requests lib,它可以简化一些事情。在

This所以线程也可以帮助您。在

在urllib.urlencode将一个由两个元素元组或字典组成的序列放入一个URL查询字符串中(它基本上是从docstring中摘录的),但是作为参数传递的只是一个字符串。在

你可以试试这样的方法:

theFile = open(fileloc,'rb')
contents = theFile.read()
b64 = base64.urlsafe_b64encode(contents)
url = urllib.urlencode({'shape': b64})

但url变量中的所有内容都是经过编码的参数,所以仍然需要实际的url。如果不需要低级操作,最好使用requests库:

^{pr2}$

相关问题 更多 >

    热门问题