Fold All / Expand All

2015年2月19日 星期四

Python Requests on Google App Engine

一波無限折啊…
原本只是要修個 Petit Lyrics,解法也只要把 CSRF token 抓下來,塞到第2個 request 的 header 就好
但是先是撞到 urllib2 塞 HTTP header 會改大小寫,原本餵 X-CSRF-Toekn,卻會變成 X-Csrf-Token
而這個問題不會修正,原因是 HTTP by spec 其 header 是要不分大小寫,但今天它伺服器端實作就是大小寫不對就不行啊…
於是找了一下,Python 有一套 Requests library,利用另外一個 library urllib3 再包裝成更好用的 API,想說來改用這套吧
結果 code 改好,python 直接跑 ok,放到 GAE 環境下就爆炸,說是 import certs 失敗
再找網路上解法,要在 app.yaml 加上
- name: ssl
  version: latest
好,改完,再跑,還是失敗…
但是這回除了看到 Content-Length header 被 strip 掉,其他沒有什麼 log 啊
那就開 Wireshark 起來看吧…似乎是因為升級到 Yosemite,Wireshark 在 Mac 上開不起來啊………
一個簡單的東西,卻弄到現在還沒收工…

沒有留言: