如何处理request.head(url)错误中的超时错误 - python 3.6

时间:2017-09-02 16:44:07

标签: python python-requests python-3.6

脚本:

uint8_t *outPtr = buffer.bits;
for (size_t y = 0; y < height; y++) {
   uint8_t *rowPtr = srcLumaPtr + y * srcLumaStride;
   for (size_t x = 0; x < width; x++) {
      *(outPtr++) = *rowPtr;
      *(outPtr++) = *rowPtr;
      *(outPtr++) = *rowPtr;
      *(outPtr++) = 255; // gamma for RGBA_8888
      ++rowPtr;
    }
}

我想停止requests.head(url)如果它不存在或者由于任何原因没有加载,并且通过响应像0那样没有加载/ url不存在。 脚本不应该浪费时间加载URL。怎么做到这一点?

2 个答案:

答案 0 :(得分:2)

您必须使用try-catch

处理异常
try: 
    requests.head('https://beta.knoema.org/BISDPPLS2016/bis-property-prices-long-series')
except requests.exceptions.Timeout as e:
    print e

此外,您可以设置较大的超时以避免因连接速度缓慢而导致错误

requests.head('https://beta.knoema.org/BISDPPLS2016/bis-property-prices-long-series', \
               timeout=5)

此处超时为5秒

答案 1 :(得分:1)

您应该使用try - except阻止请求异常。以下是此文档...

http://docs.python-requests.org/en/master/_modules/requests/exceptions/