我试图通过从b.com进行调用来在a.com网站上设置Cookie
a.com是一个带有以下代码的Flask应用程序
from flask import Flask, request, make_response
from flask_cors import CORS,logging
logging.getLogger('flask_cors').level = logging.DEBUG
app = Flask(__name__)
CORS(app,supports_credentials=True)
@app.route("/")
def helloWorld():
return "Hello, cross-origin-world!"
@app.route('/setcookie', methods = ['GET'])
def setcookie():
resp = make_response("Cookie Set")
resp.set_cookie('userID', "test",max_age=60*60*24)
return resp
@app.route('/getcookie')
def getcookie():
name = request.cookies.get('userID')
return '<h1>welcome '+name+'</h1>'
app.run(host="0.0.0.0", port=5000)
b.com是一个包含以下代码的简单网页:
<html>
<head></head>
<body>
<script>
const url = "http://a.com:5000/";
fetch(`${url}setcookie`,{credentials: 'include'}).then(()=>{
fetch(`${url}getcookie`,{credentials: 'include'});
})
</script>
Application page
</body>
</html>
理想情况下,当我们加载a.com时,它应该能够获取Cookie,如果它们都在同一个域中,则可以正常工作。
答案 0 :(得分:0)
在Google chrome中启用第三方Cookie后开始工作。