简体   繁体   中英

API works in Postman, but not on a browser

I created a flask api connecting to my mongodb database.

My initial part of the code looks like:

app = Flask(__name__)
cors = CORS(app, resources={
  r"/api/v1/*": {"origin": "*"},
})
client = MongoClient(connection_str)
db = client.get_database(db_name)

@app.route("/api/v1/players", methods = ['GET'])
def get_all_players():
    ....

This works as I intended when I use Postman, but when I input directly into the browser ( localhost:5000/api/v1/players ), it shows me an error as follows:

在此输入图像描述

I think this is the reason why my fetch doesn't work.

Any thoughts?

It's the problem with SSL certificate. All you need to do, is add ssl_context='adhoc' to your app.run() call.

An example :

from flask import Flask
app = Flask(__name__)

@app.route("/")
def hello():
    return "Hello"

if __name__ == "__main__":
    app.run(ssl_context='adhoc')

also you need to install pyopenssl in your virtual environment

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM