【问题标题】:Why does this request return an empty string?为什么这个请求返回一个空字符串?
【发布时间】:2017-12-24 06:14:58
【问题描述】:

我有以下函数向 url 发出 get 请求。

def fetch_data(session = None):
    s = session or requests.Session()
    url = 'http://www.moldelectrica.md/utils/load4.php'
    response = s.get(url)
    print response.status_code
    data = response.text
    return data

我希望在表单中返回一个字符串。

169,26,0,19,36,151,9,647,26,15,0,0,0,0,0,150,7,27,-11,-27,-101,-19,-32,-78 ,-58,0,962,866,96,0,50.02

但是我得到了一个空的 unicode 字符串。返回的状态码是 200。

我查看了请求标头,但其中没有任何内容表明任何标头都需要手动设置。使用了 Cookie,但我认为会话对象应该处理它。

【问题讨论】:

  • 当我用浏览器访问 URL 时页面是空的。您期望它包含数据有什么原因吗?
  • 这是您的网站吗...该 URL 没有为我返回任何内容...如果是...请检查 URE PHP 代码
  • 不是我的站点,此 url 由站点上的另一个页面调用,并提供显示数据。我正在使用 Firefox 并看到类似 73,20,0,19,36,154,9,523,18,8,0,0,0,0,0,176,8,27,-6,27,-50,-17 的字符串,-27,-69,-51,0,884,746,138,0,50.00
  • 虽然当我尝试使用 Chrome 访问该网址时,我得到一个空白页面,很有趣。

标签: python-2.7 python-requests


【解决方案1】:

想通了。正如我所说,这个 url 为显示提供数据,因此通常不会直接访问它。通常它会由显示页面请求,并且该页面会提供一个 cookie。

所以解决方案是向显示 url 发出请求,然后重用 session 并对数据 url 发出另一个请求。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-10
    • 2019-03-12
    相关资源
    最近更新 更多