0
我熟悉urlencode
,它編碼參數字典。我如何編碼一個字符串,如下面的URL安全的字符串?從字符串URLEncoding
s = 'http://google.com/search?q='
+ 'パイレーツ・オブ・カリビアン/呪われた海賊たち(日本語吹替版)'
+ ' '
+ 'site:imdb.com/title'
urlencoded_str = ?
我熟悉urlencode
,它編碼參數字典。我如何編碼一個字符串,如下面的URL安全的字符串?從字符串URLEncoding
s = 'http://google.com/search?q='
+ 'パイレーツ・オブ・カリビアン/呪われた海賊たち(日本語吹替版)'
+ ' '
+ 'site:imdb.com/title'
urlencoded_str = ?
這裏有一個可能性(編碼線來告訴Python文件的編碼):
# vim: encoding=utf-8
import urllib
base_url = 'http://google.com/search'
params = dict(
q=('パイレーツ・オブ・カリビアン/呪われた海賊たち(日本語吹替版)'
+ ' site:imdb.com/title'))
query = urllib.urlencode(params)
print base_url + '?' + query
更好的解決方案看這個問題:urllib.urlencode doesn't like unicode values: how about this workaround?
我不是100%確定你想達到什麼,但可能是這樣的:
#!coding: utf-8
from urllib import quote
s = 'http://google.com/search?q={}site:wikipedia.org'
escape_me = 'パイレーツ・オブ・カリビアン/呪われた海賊たち(日本語吹替版) '
urlencoded_str = s.format(quote(escape_me))
你是什麼意思的網址安全字符串?大多數瀏覽器,即非互聯網瀏覽器,都支持URL中的unicode :) – Wolph 2014-11-02 19:24:39
那麼,括號和其他內容就不會被正確解釋。 – David542 2014-11-02 19:27:36
可能的重複http://stackoverflow.com/questions/1695183/how-to-percent-encode-url-parameters-in-python – Kos 2014-11-02 19:29:17