Что мне не хватает для исправления моей ошибки SSL, связанной с финансовым API? - PullRequest
1 голос
/ 03 августа 2020

Я не могу найти решение, читая другие сообщения на SOF. Каждая демонстрация и YouTube могут запускать сценарий, отличный от приведенного ниже кода, и получать результат без ошибок.

Я нашел много решений для других кодов, которые я написал на SOF, но после всего выходные в поисках чего-то, решил написать об этом.

Заранее спасибо!

Мой код:

import requests

url = "https://alpha-vantage.p.rapidapi.com/query"

querystring = {"symbol":"TSLA","function":"GLOBAL_QUOTE"}

headers = {
    'x-rapidapi-host': "alpha-vantage.p.rapidapi.com",
    'x-rapidapi-key': "4f4624778bmsh7bd5b2d7f4e011ap154d47jsn07dedf36b055"
    }

response = requests.request("GET", url, headers=headers, params=querystring)

print(response.text)

Части ошибка:

Error: [('SSL routines', 'tls_process_server_certificate', 'certificate verify failed')]

During handling of the above exception, another exception occurred:

далее в нее:

MaxRetryError: HTTPSConnectionPool(host='alpha-vantage.p.rapidapi.com', port=443): Max retries 
exceeded with url: /query?symbol=TSLA&function=GLOBAL_QUOTE (Caused by SSLError(SSLError("bad 
handshake: Error([('SSL routines', 'tls_process_server_certificate', 'certificate verify 
failed')])")))

During handling of the above exception, another exception occurred:

тогда в самом конце будет следующее:

SSLError: HTTPSConnectionPool(host='alpha-vantage.p.rapidapi.com', port=443): Max retries exceeded 
with url: /query?symbol=TSLA&function=GLOBAL_QUOTE (Caused by SSLError(SSLError("bad handshake: 
Error([('SSL routines', 'tls_process_server_certificate', 'certificate verify failed')])")))

1 Ответ

0 голосов
/ 03 августа 2020

Используйте verify=False в качестве параметра получения

import requests

url = "https://alpha-vantage.p.rapidapi.com/query"

querystring = {"symbol":"TSLA","function":"GLOBAL_QUOTE"}

headers = {
    'x-rapidapi-host': "alpha-vantage.p.rapidapi.com",
    'x-rapidapi-key': "4f4624778bmsh7bd5b2d7f4e011ap154d47jsn07dedf36b055"
    }

response = requests.request("GET", url, headers=headers, params=querystring, verify=False)
print(response)
print(response.text)

Вывод:

<Response [200]>
{
    "Global Quote": {
        "01. symbol": "TSLA",
        "02. open": "1515.0000",
        "03. high": "1517.0500",
        "04. low": "1420.9800",
        "05. price": "1430.7600",
        "06. volume": "12246960",
        "07. latest trading day": "2020-07-31",
        "08. previous close": "1487.4900",
        "09. change": "-56.7300",
        "10. change percent": "-3.8138%"
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...