【问题标题】:HTTP request with requests in python returning text instead of json带有python请求的HTTP请求返回文本而不是json
【发布时间】:2015-07-22 06:49:45
【问题描述】:
def thready(name,count):
    payload={'Accept': 'application/json;charset=utf-8', 'X-Mashape-Key': 'key'

            }


    link = "https://montanaflynn-gender-guesser.p.mashape.com/?name=" + name
    r=requests.get(link ,headers=payload)
    print r.headers
    data=r.json()

    print data


count=0

thready("bob",count)

所以我只是尝试在 python 中执行一个简单的 HTTP 请求。在 r.header 我得到 ​​p>

{'date': 'Wed, 22 Jul 2015 06:30:12 GMT', 'content-length': '178', 'content-type
': 'text/html', 'connection': 'keep-alive', 'server': 'Mashape/5.0.6'}

在标题中我说它应该返回 json。返回是文本吗?对这个事实很困惑?一些见解会非常有帮助,因为我正在尝试做简单的事情

【问题讨论】:

  • 你的问题是什么?结果,您将获得字符串表示形式的 JSON。
  • 如何像字典一样使用它?
  • 它已经是一个字典,但是如果你打印整个字典,它在控制台上看起来就像 json 一样。试试print data['message']
  • 我什至无法粘贴数据 Traceback 行(最近一次调用最后一次):ValueError: No JSON object could be decoded
  • 你应该在问题中写下这个事实;)对我来说,sn-p 有效。你能把print r.text 粘贴到这里吗?

标签: python python-requests mashape


【解决方案1】:

代码没有问题。

我已通过访问源检查您的上游 API 请求:API 提供者的页面,看起来 API 已失效/未按预期工作。 这正是您遇到错误的原因。 解决方案: 1)联系提供商尝试解决问题,由他们而不是您来解决 2) 从同一门户中查找替代 API:https://www.mashape.com/explore?query=gender

祝你好运

【讨论】:

  • 谢谢,好像是他们这边的东西。
猜你喜欢
  • 2023-04-05
  • 1970-01-01
  • 1970-01-01
  • 2020-07-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多