Tornado 新增請求頭允許跨域請求訪問

2022-03-08 10:02:28 字數 1746 閱讀 7362

跨域請求訪問

如果是前後端分離,那就肯定會遇到cros跨域請求難題,可以設定乙個basehandler,然後繼承即可。

class basehandler(tornado.web.requesthandler):

def __init__(self, *argc, **argkw):

super(basehandler, self).__init__(*argc, **argkw)

# 解決跨域問題

def set_default_headers(self):

self.set_header("access-control-allow-origin", "*") # 這個地方可以寫網域名稱

self.set_header("access-control-allow-headers", "x-requested-with")

self.set_header("access-control-allow-methods", "post, get, options")

self.set_header("access-control-max-age", 1000)

def get(self):

self.write('request get')

def post(self):

self.write('request post')

# vue一般需要訪問options方法, 如果報錯則很難繼續,所以只要通過就行了,當然需要其他邏輯就自己控制。

def options(self):

# 返回方法1

self.set_status(204)

self.finish()

# 返回方法2

self.write('')

繼承basehandler類

class admintasks(basehandler):

# 重寫了basehandler父類的get方法

def get(self):

# 處理業務邏輯

return self.write(json.dumps())

# 重寫了basehandler父類的post方法

def post(self):

# 處理業務邏輯

return self.write(json.dumps())

主檔案main.py檔案中

def __init__(self):

handlers = [

(r"/tasks", admintasks), # 顯示個人所有任務

]if __name__ == "__main__":

tornado.options.parse_command_line()

print("visit at", "" % options.port)

tornado.ioloop.ioloop.instance().start()

這時候前端頁面就可以通過:訪問後端程式了。上面的**就部署在49.236.68.166這台伺服器上面。

參考:附加內容:【https異常】this request has been blocked; the content must be served over https

kong外掛程式在請求時新增允許跨域請求頭

需求 需要在kong上設定對websocket允許跨域,類似nginx上實現的效果 add header access control allow origin add header access control allow headers x requested with add header a...

Tornado之請求與響應頭

self.write 我在下面 name self.get argument name none self.write 這個是我 name class headerhandler tornado.web.requesthandler defget self self.write set header...

Spring Boot允許跨域請求

1 專案下新建乙個config包 專門用於放置配置檔案 但是這只是最佳目錄 實際上spring boot對與檔案結構是沒有要求的 只用註解來判斷每個類的作用 2 新建乙個檔案類corsconfig,編寫以下 package com.xhwl.erp.config import org.springf...