Python コードは次のとおりです。
user = "aabc"
password = "yyy12%"
data = urllib.urlencode({"loginname": user, "nloginpwd": password})
print data
結果は次のとおりです。loginname=aabc&nloginpwd=yyy12%25
25
文字列の最後に追加されたのはなぜですか?
Python コードは次のとおりです。
user = "aabc"
password = "yyy12%"
data = urllib.urlencode({"loginname": user, "nloginpwd": password})
print data
結果は次のとおりです。loginname=aabc&nloginpwd=yyy12%25
25
文字列の最後に追加されたのはなぜですか?
この%
文字は、URL で特別な意味を持ちます。エスケープシーケンスを開始するために使用されます。ウィキペディアのパーセント エンコーディングの記事を参照してください。次に、リテラル %
もエンコードする必要が%25
あり、エンコードされたバージョンです。ウィキペディアのページから:
パーセント (
"%"
) 文字は、パーセントでエンコードされたオクテットの指標として機能する"%25"
ため、そのオクテットを URI 内のデータとして使用するには、パーセントでエンコードする必要があります。
つまり、%25
はエンコードされた%
文字です。
ウィキペディアから:
パーセント (「%」) 文字はパーセントでエンコードされたオクテットのインジケータとして機能するため、そのオクテットを URI 内のデータとして使用するには、「%25」としてパーセントでエンコードする必要があります。
簡単な例:
>>> urllib.parse.quote('%')
'%25'