当前位置: 首页 > 知识库问答 >
问题:

二进制数据返回一个空白字符串

谭铭
2023-03-14

我试图实现的是从url获取(图像的)二进制数据,该url通过php脚本(动态)生成图像,并使用sqlalchemy将该数据保存到数据库中。当我尝试使用python或ipython解释器实现这一点时,返回数据,但使用脚本中的相同代码,数据是一个空白字符串。

>>>import urllib
>>>link = 'http://www.example.com/getImage.php?e=23f4904fhsdajf0xns3erre32q886heipxd8c447gf8gs9b9d'
>>>image = urllib.urlopen(link).read()
>>>image

返回以下二进制数据:

def get_image(link):
    print link #Debug: Check if link has been passed
    image = urllib.urlopen(link).read()
    print type(image), image
    return image

第一个print语句返回:

http://www.example.com/getImage.php?e=23f4904fhsdajf0xns3erre32q886heipxd8c447gf8gs9b9d

第二个是:

类型,

为什么相同的代码会产生不同的结果?有人能想到可能的原因吗?

共有1个答案

安承教
2023-03-14

虽然我不知道为什么从脚本运行和从解释器运行时会得到不同的结果,但我首先要做的是抛弃urrlib,转而使用请求库:http://docs.python-requests.org/en/latest/user/quickstart/#response-content我一直在用它来自脚本应用程序,到目前为止从未出现过问题。

 类似资料:
  • 问题内容: 我有一个带有3个嵌套数组的简单php结构。 我不使用特定的对象,而是使用2个嵌套循环构建数组。 这是我要转换为Json的数组的var_dump的示例。 在另一个脚本中,我具有类似的结构并且工作正常。所以我不明白为什么在这里不起作用。 编辑:似乎有编码问题。当返回ASCII,该作品但当它返回UTF8,它不工作了。 Edit2:返回表示:格式错误的UTF-8字符,可能编码不正确。 问题答案

  • 问题内容: 这可能是最简单的事情之一,但我看不到自己在做错什么。 我的输入包括一个带有数字的第一行(要读取的行数),一串包含数据的行和最后一行仅包含\ n的行。我应该处理此输入,并在最后一行之后做一些工作。 我有这个输入: 对于读取输入,我有以下代码。 我的问题是为什么我什么都不打印?程序读取第一行,然后不执行任何操作。 问题答案: 不读取以下换行符,因此第一个(返回 当前 行的其余部分 )将始终

  • 我正在构建我的第一个Spring Boot应用程序。但是我不能正确地得到我的requestMapping控制器的回答。 这是我的主要课程: 这是我的RestController: 如果我看一下日志,我可以看到“/hi”映射: 但是当我访问:http:localhost:8080/hi时,我看到了一个空白页面,我期望看到“Hello World”文本。 为什么我得到一个空白页面? ---编辑----

  • 问题内容: 我的文件中有二进制数据,可以将其读入字节数组并进行处理。现在,我需要通过网络连接将部分数据作为XML文档中的元素发送。我的问题是,当我将数据从字节数组转换为String并返回到字节数组时,数据已损坏。我已经在一台机器上对此进行了测试,以将问题隔离到String转换中,所以现在我知道它不会被XML解析器或网络传输损坏。 我现在所拥有的是 有谁知道如何将二进制转换为String并返回而不会

  • 我试图让一个函数采取一个字符串dec,代表一个十进制数,例如"11",我想说的函数返回一个字符串,其中包含相应的二进制格式,在这种情况下"1011"。这就是我到目前为止所拥有的: 我对Python非常陌生,所以我不确定如何首先将一个数字变成一个字符串(使用str()),以及如何使它返回相应的二进制值。谁能给我指出正确的方向?

  • 问题内容: 我犹豫要问这个问题,因为它看起来很奇怪。但不管怎么说。以防万一有人已经遇到了相同的问题…文件系统功能(fopem,file,file_get_contents)对于http://包装器表现得很奇怪 它似乎有效。 没有提出错误 。fopen()返回资源。 它不会为所有肯定有效的网址返回任何数据(例如)。 文件返回空数组,file_get_contents()返回空字符串,fread返回f