URL的字符編碼


摘要:

        在通過URL訪問HTTP SERVER的時候,通常會產生trace callback的異常,返回505的錯誤," VERSION IS NOT SUPPORTED ?" ,難道是客戶端協議版本和服務端不兼容,這個就不太可能了,究竟是什么原因。要從URL的字符編碼說起。

URL 字符編碼:

URL 只能使用ASCII字符集。

來通過因特網進行發送。由於 URL 常常會包含 ASCII 集合之外的字符,URL 必須轉換為有效的 ASCII 格式。

URL 編碼使用 "%" 其后跟隨兩位的十六進制數來替換非 ASCII 字符。

URL 不能包含空格。URL 編碼通常使用 + 來替換空格。

URL 編碼轉換:

各種SDK包都替換了都轉換的方法,我們采用python來說明:

比如:http://xx.xx.xx.xx/api?key1=magics &key2=深圳麥集思科技有限公司  &key3=人工智能

如何進行轉換呢,python 已經為我們准備好了庫函數,我們自己去調用就好了。

data = {'key1': 'magics ','key2'='深圳麥集思科技有限公司  ','key3'='人工智能'}

s=urlencode(data)

s的最終結果是什么呢?

key3=%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD&key2=%E6%B7%B1%E5%9C%B3%E9%BA%A6%E9%9B%86%E6%80%9D%E7%A7%91%E6%8A%80%E6%9C%89%E9%99%90%E5%85%AC%E5%8F%B8++&key1=magics+

這個才是http協議中所需要的字符串


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM