Я создал простое веб-сервисное приложение на Python, которое предоставляет некоторые функции Python из другого класса. Когда я инициирую запрос к локальному узлу, он подключается к API, и представленные функции выполняются так, как и должно, но любые последующие запросы приводят к ошибке.
Вот мой код:
webservice.py
#!flask/bin/python
from flask import Flask
from flask import request
import sys
sys.path.append('/src/')
from encrypto import Encrypto
app = Flask(__name__)
@app.route('/call/<function_name>/<arg>', methods=['GET'])
def callFunction(function_name: str, arg: str):
functionToCall = getattr(Encrypto(), function_name)
return str(functionToCall(arg))
if __name__ == '__main__':
app.run(host='localhost', threaded=True)
Вот то, что я запускаю как демо:
# concurrent requests - encrypt/decrypt
url = ["http://localhost:5000/call/encrypt/blahblah", "https://localhost:5000/call/encrypt/oranges",
"https://localhost:5000/call/decrypt/apples"]
w = WebGet().geturls(url,10)
print(w)
Это приводит к следующей ошибке:
Error HTTPSConnectionPool(host='localhost', port=5000): Max retries exceeded with url: /call/encrypt/oranges (Caused by SSLError(SSLError("bad handshake: Error([('SSL routines', 'SSL23_GET_SERVER_HELLO', 'unknown protocol')],)",),)): Could not access this url: https://localhost:5000/call/encrypt/oranges
Error HTTPSConnectionPool(host='localhost', port=5000): Max retries exceeded with url: /call/decrypt/apples (Caused by SSLError(SSLError("bad handshake: Error([('SSL routines', 'SSL23_GET_SERVER_HELLO', 'unknown protocol')],)",),)): Could not access this url: https://localhost:5000/call/decrypt/apples
[('http://localhost:5000/call/encrypt/blahblah', b'1011989968'), ('https://localhost:5000/call/encrypt/oranges', ''), ('https://localhost:5000/call/decrypt/apples', '')]
Как видно из приведенного выше вывода, два последующих вызова API возвращают пустую строку, обозначающую ошибку.