簡體   English   中英

網址Python請求超出了最大重試次數

[英]Max retries exceeded with url Python Requests

我的代碼出現此錯誤。 我每天運行我的代碼,從來沒有任何問題,但是現在,如果我運行它,則Max retries exceeded with urlMax retries exceeded with url 如果我從另一台計算機上運行它,一切都很好,然后下載我的文件,這樣我就可以了解發生了什么。 我嘗試了以下問題: Python請求的URL超出了HTTPConnectionPool和最大重試次數,並且也這樣做了: Python請求的URL超出了最大重試次數,但是沒有人告訴我我該如何解決。

Traceback (most recent call last):
  File "<stdin>", line 4, in <module>
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/requests/api.py", line 72, in get
    return request('get', url, params=params, **kwargs)
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/requests/api.py", line 58, in request
    return session.request(method=method, url=url, **kwargs)
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/requests/sessions.py", line 508, in request
    resp = self.send(prep, **send_kwargs)
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/requests/sessions.py", line 618, in send
    r = adapter.send(request, **kwargs)
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/requests/adapters.py", line 506, in send
    raise SSLError(e, request=request)
requests.exceptions.SSLError: HTTPSConnectionPool(host='url', port=443): Max retries exceeded with url: / (Caused by SSLError(SSLError(1, u'[SSL: SSLV3_ALERT_HANDSHAKE_FAILURE] sslv3 alert handshake failure (_ssl.c:661)'),))

我的代碼:

# encoding=utf8
# -*- coding: utf-8 -*-
import random
import requests
from requests.auth import HTTPBasicAuth
import sys
import pandas as pd
import datetime
from datetime import date
from dateutil.relativedelta import relativedelta
import os

reload(sys)
sys.setdefaultencoding('utf-8')
number = str(random.random())
url = 'url'

today = date.today()
d = today - relativedelta(months=1)
d2 = today - relativedelta(months=2)

inicio_mes_pasado = date(d.year, d.month, 1).strftime("%d/%m/%Y") # Fecha Inicial
final_mes_pasado = (datetime.date.today().replace(day=1)+datetime.timedelta(days=-1)).strftime("%d/%m/%Y") # Fecha Final

inicio_mes_pasado2 = date(d2.year, d2.month, 1).strftime("%d/%m/%Y") # Fecha Inicial 2 meses antes
final_mes_pasado2 = (date(d.year, d.month, 1) - relativedelta(days=1)).strftime("%d/%m/%Y") # Fecha Final 2 meses antes



cuenta = ['@']

for itemm in cuenta:
    user = '{}'.format(itemm)
    passwd = 'pass'
    login = requests.get(url, auth=HTTPBasicAuth(user, passwd))
    # Espacios
    url_espacios = 'url{}'.format(final_mes_pasado)
    espacios = requests.get(url_espacios, auth=HTTPBasicAuth(user, passwd))
    f = open("Espacios_{}.csv".format(itemm), "w")
    f.write(((((espacios.text.replace('.','')).replace(',','.')).replace('%', '')).replace(';',',')).replace('"',''))
    f.close()
    df = pd.read_csv("Espacios_{}.csv".format(itemm))

OS X的默認OpenSSL版本可能是您遇到的問題。

如果這是問題所在,則有幾種選擇:

1)嘗試使用python 3(而不是2.7)運行相同的代碼。

2)通過從自制軟件安裝來更新您的OpenSSL版本-在此處查看更多信息: https : //github.com/requests/requests/issues/2022

自2.7.15版起,所有python.org macOS安裝程序均隨附OpenSSL的內置副本

-https://www.python.org/downloads/release/python-2715/

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM