解決手心輸入法無法登入賬號的問題

2022-09-18 23:18:08 字數 2314 閱讀 2443

但是,手機上使用相同的賬號可以登入,所以我判斷是電腦端在開啟鑑權介面時發生了錯誤。

於是使用fiddler進行抓包,果不其然,在抓取的請求列表中發現了與openapi.360.cn通訊400的結果。

該應用訪問的url是:

請求引數:

引數名必選

介紹client_id

true

response_type

true

此值固定為「code」

redirect_uri

false

授權後要**的uri,即接收authorization code的uri, 其值可以是「oob」。 非「oob」值的redirect_uri所在網域名稱必須與開發者註冊應用時所提供的**位址的網域名稱相匹配

scope

false

以空格分隔的許可權列表,若不傳遞此引數,代表請求預設的basic許可權。(目前只有basic許可權)

state

false

用於保持請求和**的狀態,授權伺服器在**時(重定向使用者瀏覽器到「redirect_uri」時),會在query parameter中原樣回傳該引數

oauth_version

false

(可選)版本號,如果填寫必須為1.0

display

false

登入和授權頁面的展現樣式,360桌面應用請傳遞「desktop」,預設為「default」或空。

relogin

false

僅在實現"使用360賬號登陸"功能時才需要傳遞。當瀏覽器有360cookie時,傳遞relogin可展示「當前賬號登陸確認頁」;relogin值請傳遞公司網域名稱,如www.360.cn可傳遞"relogin=360.cn"

查詢請求引數**,可以發現redirect_uri不是乙個必選引數,因此,我直接從 querystring 中刪去了該引數,此時,請求url變成:

於是,接下來的問題就是如何將客戶端的錯誤請求更改為修改後的正確請求。

既然已經定位到了問題,而且找到了可行的方案,現在的問題就是如何攔截並修改輸入法客戶端發往服務端的請求。

剛好,我使用的抓包軟體 fiddler 就可以設定自定義攔截規則。

開啟自定義規則編輯器後,可以根據注釋發現其使用的是 jscript.net 語言。關於該語言的資料可以在這裡找到:jscript.net reference。

由於我們現在需要完成的事情是修改客戶端請求,於是,我們需要改寫自定義規則中關於請求的部分。使用 fiddler scripteditor 選單欄中的go-to onbeforerequest選項可以直接定位到與請求相關的方法位置。

在方法體的最後,我們加上自己對openapi.360.cn的攔截修改規則:

static function onbeforerequest(osession: session) 

*/if (osession.hostnameis("openapi.360.cn"))

}

之後,儲存(ctrl+s)該檔案即可。如果操作正確,應該看到類似下圖的介面:

在開啟 fiddler 的情況下,再次開啟手心輸入法的登入頁面,可以看到已經正常開啟:

此時輸入使用者名稱和密碼即可正常登入,使用同步功能了。

QT 5無法中文輸入法輸入問題的解決

參考了這兩個。在網上看了很多帖子,那種直接從fcitx裡複製來的在高版本已經沒有辦法用了,必須自己編譯乙個新的出來。中間走了非常非常多彎路,包括還把fcitx搞崩潰了只好解除安裝。這個方法,不用將fctix設為當前輸入框架,僅需要那個檔案。編譯步驟 1 apt get install cmake 2...

word中無法切換搜狗的中文輸入法的解決方案

我們在使用word的使用,可能會經常碰到word中無法輸入中文的情況。因為,雖然我們安裝了搜狗輸入法,但是到我們在word中使用搜狗的輸入法的切換中英文的按鍵的時候會發現根本沒有效果,無法將輸入法切換成中文的。下面我就介紹一下如何在word中把搜過輸入法切換到中文。首先,在工作列的右下角我們可以看到...

word中無法切換搜狗的中文輸入法的解決方案

我們在使用word的使用,可能會經常碰到word中無法輸入中文的情況。因為,雖然我們安裝了搜狗輸入法,但是到我們在word中使用搜狗的輸入法的切換中英文的按鍵的時候會發現根本沒有效果,無法將輸入法切換成中文的。下面我就介紹一下如何在word中把搜過輸入法切換到中文。首先,在工作列的右下角我們可以看到...