Bottlepy的一點小問題

第一次寫東西呀,嘻嘻??不斷學習不斷反式趸芒帕!


因為這個問題并不清楚是不是Bottlepy的本意,所以只能稱之為問題而不是bug丰介。
公司需要用網(wǎng)頁訪問串口背蟆,網(wǎng)頁當然只能用JS了,但是瀏覽器運行的JS是運行在沙箱模式下哮幢,不能訪問串口這么底層的硬件(Node.js這種非瀏覽器運行的JS是可以的)带膀。走了許多彎路之后選擇用Bottlepy建立一個localhost,網(wǎng)頁再訪問localhost即可實現(xiàn)訪問硬件橙垢。但是垛叨,這樣直接用Ajax訪問屬于跨域的,需要CORS相關支持柜某。于是需要在服務器上稍微設置一下嗽元。把每次Ajax請求用一個header包裹一下。

@bottle.hook('after_request')
def enable_cors():
    bottle.response.headers['Access-Control-Allow-Origin'] = '*'

但是實測仍然是500錯誤喂击,Chrome控制臺一看Ajax并沒有header(此處應有圖)剂癌。網(wǎng)上Google了外國人的資料并沒有有用的東西,最后還是靠國人的文章提示才弄明白(原文是互相轉(zhuǎn)載的翰绊,我也搞不清原作者是誰佩谷,一并謝過)。Bottlepy的源代碼中有一段初始化header的代碼(下段被注釋掉的代碼)在我們執(zhí)行上述代碼之后监嗜,實際上等于把我們的設置都變成無用功了谐檀。修改一下,如果已經(jīng)有header了就不要初始化了裁奇,問題解決桐猬。

class HTTPResponse(Response, BottleException):
    def __init__(self, body='', status=None, headers=None, **more_headers):
        super(HTTPResponse, self).__init__(body, status, headers, **more_headers)

    def apply(self, response):
        response._status_code = self._status_code
        response._status_line = self._status_line
        # response._headers = self._headers
        if self._headers:
            if response._headers:
                response._headers.update(self._headers)
            else:
                response._headers = self._headers
        response._cookies = self._cookies
        response.body = self.body

在GitHub上看官方解釋,有個人提議把@bottle.hook('after_request')改成@bottle.hook('before_request')框喳,我并沒有試過這樣行不行课幕。


訪問localhost奇慢厦坛,而且第一次訪問一定要等至少10秒鐘才會有結(jié)果五垮,在這十秒鐘之內(nèi)的Ajax也是pending到10秒一起返回乍惊,之后的任何Ajax都要延時3到4秒。這倒不是Bottlepy的問題放仗,是我使用的系統(tǒng)設置問題润绎。貌似是因為默認啟用了IPv6但是實際上又沒用到IPv6導致的。解析localhost不是::1會花很長時間诞挨,直接訪問127.0.0.1就沒事了莉撇。


把localhost指定到0.0.0.0即可實現(xiàn)局域網(wǎng)內(nèi)任何電腦訪問192.168.X.X(你的IP)就能訪問你建立的localhost了。

bottle.run(host='0.0.0.0', port=8080, debug=True)
最后編輯于
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末惶傻,一起剝皮案震驚了整個濱河市棍郎,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌银室,老刑警劉巖涂佃,帶你破解...
    沈念sama閱讀 221,576評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件荧琼,死亡現(xiàn)場離奇詭異尝哆,居然都是意外死亡二蓝,警方通過查閱死者的電腦和手機奶陈,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,515評論 3 399
  • 文/潘曉璐 我一進店門苟翻,熙熙樓的掌柜王于貴愁眉苦臉地迎上來伦泥,“玉大人柜候,你說我怎么就攤上這事明场》窆” “怎么了午笛?”我有些...
    開封第一講書人閱讀 168,017評論 0 360
  • 文/不壞的土叔 我叫張陵,是天一觀的道長苗桂。 經(jīng)常有香客問我药磺,道長,這世上最難降的妖魔是什么誉察? 我笑而不...
    開封第一講書人閱讀 59,626評論 1 296
  • 正文 為了忘掉前任与涡,我火速辦了婚禮,結(jié)果婚禮上持偏,老公的妹妹穿的比我還像新娘驼卖。我一直安慰自己,他們只是感情好鸿秆,可當我...
    茶點故事閱讀 68,625評論 6 397
  • 文/花漫 我一把揭開白布酌畜。 她就那樣靜靜地躺著,像睡著了一般卿叽。 火紅的嫁衣襯著肌膚如雪桥胞。 梳的紋絲不亂的頭發(fā)上恳守,一...
    開封第一講書人閱讀 52,255評論 1 308
  • 那天,我揣著相機與錄音贩虾,去河邊找鬼催烘。 笑死,一個胖子當著我的面吹牛缎罢,可吹牛的內(nèi)容都是我干的伊群。 我是一名探鬼主播,決...
    沈念sama閱讀 40,825評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼策精,長吁一口氣:“原來是場噩夢啊……” “哼舰始!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起咽袜,我...
    開封第一講書人閱讀 39,729評論 0 276
  • 序言:老撾萬榮一對情侶失蹤丸卷,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后询刹,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體谜嫉,經(jīng)...
    沈念sama閱讀 46,271評論 1 320
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,363評論 3 340
  • 正文 我和宋清朗相戀三年范抓,在試婚紗的時候發(fā)現(xiàn)自己被綠了骄恶。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,498評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡匕垫,死狀恐怖僧鲁,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情象泵,我是刑警寧澤寞秃,帶...
    沈念sama閱讀 36,183評論 5 350
  • 正文 年R本政府宣布,位于F島的核電站偶惠,受9級特大地震影響春寿,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜忽孽,卻給世界環(huán)境...
    茶點故事閱讀 41,867評論 3 333
  • 文/蒙蒙 一绑改、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧兄一,春花似錦厘线、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,338評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至骂束,卻和暖如春耳璧,著一層夾襖步出監(jiān)牢的瞬間成箫,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,458評論 1 272
  • 我被黑心中介騙來泰國打工旨枯, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留蹬昌,地道東北人。 一個月前我還...
    沈念sama閱讀 48,906評論 3 376
  • 正文 我出身青樓召廷,卻偏偏與公主長得像凳厢,于是被迫代替她去往敵國和親账胧。 傳聞我的和親對象是個殘疾皇子竞慢,可洞房花燭夜當晚...
    茶點故事閱讀 45,507評論 2 359

推薦閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 172,283評論 25 707
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務發(fā)現(xiàn)治泥,斷路器筹煮,智...
    卡卡羅2017閱讀 134,697評論 18 139
  • AJAX 原生js操作ajax 1.創(chuàng)建XMLHttpRequest對象 var xhr = new XMLHtt...
    碧玉含香閱讀 3,216評論 0 7
  • 起兮,落兮居夹,日月兮败潦,白兮,黑兮准脂, 今明兮劫扒,時間走著未來, 時間留下了回憶狸膏,忘了傷沟饥,記了情。
    春城怡景閱讀 364評論 0 1
  • 15年畢業(yè)生幼驶,莫名其妙來到SZ。畢業(yè)難韧衣,找工作難盅藻,什么都碰上了。 談及大學畅铭,不同的人有不同的說法氏淑。一千個讀者眼中,...
    走著走著你就不見了閱讀 371評論 0 0