0
A
回答
1
我認爲正確編碼的URI應該總是在第二次乾淨地通過。
原因是您必須正確解析URI,無論如何,因爲在URI中提供諸如/ @ . : ? & =
的字符是完全合法的,只要它們出現在正確的位置。
因此,如果它在URI的那部分中不合法,則只編碼字符。用這個斷言,然後你創建一個在每個位置都合法的編碼字符串,所以當你解析它時,沒有什麼可以編碼的。請注意,如果有人在您的URI上拋出一個URI進行編碼並且它恰好不明確(即它包含特殊字符,它們會改變URI語法),但它們不能指望正確的結果。
要更直接地回答你的問題,我會說是的:鑑於上述所有情況,你只需要對%
轉義序列進行特殊處理。
0
嗯,你怎麼知道一個已編碼的URI不應該再次被編碼?也許這個URI包含,我不知道,例如如何編碼URI,如果不能再次進行編碼,那麼解碼會破壞它?
也就是說,你可以檢查是否只有允許的字符加%
是否存在,以及是否每個%
後跟一個十六進制數字。如果是,那麼很可能(但不能保證)編碼已經完成。
+0
我不介意第二種編碼本身,我真正不想做的是通過監督某件事來搞砸它。 – imreal
相關問題
- 1. RewriteRule阻止編碼
- 2. Android阻止DialogFragment打開兩次
- 3. 阻止功能運行兩次
- 4. 阻止在android的textwatcher兩次運行
- 5. URI編碼和HTML編碼
- 6. 如何阻止GET方法對URI中的HTML特殊字符進行編碼?
- 7. ServiceStack URI編碼
- 8. 在響應中阻止URL編碼
- 9. 阻止RestSharp參數的編碼
- 10. 如何阻止Jsoup編碼URL參數?
- 11. 如何阻止HttpClient.GetAsync(uri)掛起?
- 12. 如何阻止Uri root被更改?
- 13. 阻止GET訪問某個URI
- 14. URI編碼問題
- 15. ASP.Net:RegularExpressionValidator ValidationExpression一次阻止`;`和`-`
- 16. 阻止JavaScript加載不止一次
- 17. 過程兩者的編碼和解碼的URI正確
- 18. 阻止腳本在執行時運行兩次
- 19. 如何阻止用戶輸入兩次相同的值?
- 20. PHP機制阻止用戶上傳兩次相同的文件
- 21. PHP - 我如何阻止我的循環註冊數據兩次?
- 22. webpack - 如何阻止加載器運行兩次?
- 23. 阻止用戶一次按下兩個按鈕?
- 24. 如何阻止兩次顯示相同內容的回顯?
- 25. Jquery阻止UI使用兩次後不工作?
- 26. 如何在android中一次阻止兩個動作
- 27. 表單提交信息兩次。你如何阻止它?
- 28. 有沒有辦法阻止腳本加載兩次? JavaScript
- 29. 如何阻止我的sql查詢顯示結果兩次?
- 30. 從表單提交數據到mysql阻止用戶兩次
我會修改我的答案,其實......處理轉義序列不是*特殊處理*。這只是符合RFC的整體處理的一部分。 – paddy