最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

详解Pythonurlencode编码和url拼接方法

来源:动视网 责编:小采 时间:2020-11-27 14:25:29
文档

详解Pythonurlencode编码和url拼接方法

详解Pythonurlencode编码和url拼接方法:urlencode 调用方法urlencode的参数必须是Dictionaryimport urllib d = {'name1':'www.pythontab.com','name2':'bbs.pythontab.com'}print urllib.urlencode(d)输出:n
推荐度:
导读详解Pythonurlencode编码和url拼接方法:urlencode 调用方法urlencode的参数必须是Dictionaryimport urllib d = {'name1':'www.pythontab.com','name2':'bbs.pythontab.com'}print urllib.urlencode(d)输出:n


urlencode 调用方法

urlencode的参数必须是Dictionary

import urllib
d = {'name1':'www.pythontab.com','name2':'bbs.pythontab.com'}print urllib.urlencode(d)

输出:

name2=bbs.pythontab.com&name1=www.pythontab.com

相当于拼接两个url参数,这个用法类似于PHP中的http_build_query(),这里就不多数PHP中怎么用了,有兴趣的自己去查一下。

urlencode 编码

函数urlencode不会改变传入参数的原始编码,也就是说需要在调用之前将post或get参数的编码调整好。

问题:现在模拟请求Google和baidu,由于baidu使用的是gb2312编码,google使用的是utf8编码,两个站点提交到URL中的中文参数的urlencode值是不一样,下面以”PythonTab中文网”为例:

# coding: UTF-8
str = u'PythonTab中文网'
str = str.encode('gb2312')
d = {'name':str}
q = urllib.urlencode(d)
print q

结果:

name=PythonTab%D6%D0%CE%C4%CD%F8

注意:urlencode的参数必须是Dictionary

其他用法

django中urlencode类似,方法如下:

from django.utils.http import urlquote
a = urlquote('PythonTab中文网')
print a

得到汉字的GBK编码

urllib 转换字符串

其实可以用urllib的quote函数对URL中的中文进行转换,将中文转换成GBK的编码,得到的编码是符合URI标准的URL。

>>> import urllib
>>> a = "PythonTab中文网"
>>> a
'PythonTabxe4xb8xadxe6x96x87xe7xbdx91'
>>> urllib.quote(a)
'PythonTab%E4%B8%AD%E6%96%87%E7%BD%91'
>>>

文档

详解Pythonurlencode编码和url拼接方法

详解Pythonurlencode编码和url拼接方法:urlencode 调用方法urlencode的参数必须是Dictionaryimport urllib d = {'name1':'www.pythontab.com','name2':'bbs.pythontab.com'}print urllib.urlencode(d)输出:n
推荐度:
标签: 拼接 详解 编码
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top