【问题标题】:Urlib in python, how to check response received or not?python中的Urllib,如何检查是否收到响应?
【发布时间】:2014-05-08 06:09:15
【问题描述】:

我在 python 中使用 urllib 库, 对于 URL 中的任何错误,我使用 try catch 块来捕获它。 但有时我在 url 中得到空数据,如何检查或验证来自 URL 的空数据。并且还使用超时,给定 25 秒。给 25 秒好还是应该低于 10 秒?

【问题讨论】:

    标签: python url urllib2


    【解决方案1】:

    您可以使用适合您的程序的任何超时长度。如果您预计它有时可能需要您查询的任何 URL 最多 25 秒才能响应,那么 25 是合适的。如果响应时间不应该超过几秒钟,并且您可以放心地假设如果花费的时间超过几秒钟,则 URL 一定是死的,那么您可以降低超时。总的来说,我认为对超时保持保守是个好主意。超时时间过长时最好让错误情况慢一点,而不是超时时间过短时错误地触发错误。

    您可以通过执行以下操作来检查来自 urllib2 的空响应

    fh = urllib2.urlopen(url)
    response = fh.read()
    if not response:
        # Do whatever error handling you want. You don't necessarily need to raise Exception.
        raise Exception("Empty response")
    

    这就是你要找的吗?

    【讨论】:

    • 也可以检查response.info().getheader('Content-Length'),以获取响应长度
    猜你喜欢
    • 1970-01-01
    • 2021-05-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-07-21
    • 2014-05-15
    • 2022-01-18
    • 1970-01-01
    相关资源
    最近更新 更多