我使用Appcelerator Titanium和Python的Django來創建移動應用程序。正如你可能已經猜到的那樣,Django被用於後端。目前我正在嘗試創建一個需要CSRF令牌才能正確接受數據的登錄表單。我試圖從Django中檢索CSRF令牌,但我嘗試過並失敗了,Google對我沒有任何答案。在Appcelerator Titanium中,我如何獲得Django的CSRF令牌?
問題通常你會得到一個帶有CSRF令牌的HTML頁面,然後發送它。我現在要做的是在不知道CSRF的情況下發送POST消息。在加速器中,我嘗試過運行
HTTPSession.open(GET, *url*)
token = HTTPSession.getRecievedHeaders("X-CSRF-TOKEN")
HTTPSession.open(POST, *url)
HTTPSession.getRecievedHeaders("X-CSRF-TOKEN", token)
HTTPSession.send(data)
但是這不起作用,因爲鈦的工作原理。那麼我怎樣才能得到令牌?我是否需要創建特定的URL才能創建會話並顯示CSRF令牌?我只是擔心,一旦我收到令牌,我需要重新連接到服務器,並且令牌已經改變。
在我的谷歌搜索,我發現Drupal有這個功能的網址:services/session/token
是否有在Django此一equivillant?或者我需要創建一個只顯示CSRF令牌的頁面?
是的,像loginHTTP.setRequestHeader(「X-CSRFToken」,Ti.App.Properti es.getString(「csrf」));但這並沒有解釋如何檢索CSRF令牌。不管怎麼說,還是要謝謝你! – 2014-10-02 22:42:49