python的url编码问题
来源:互联网 发布:淘宝网购物的付款方式 编辑:程序博客网 时间:2024/05/17 23:46
python urlencode 编码
urlencode 调用方法
urlencode的参数必须是Dictionary
d= {'par1':'a','par2':'b',}p
rinturllib.urlencode(m)
#par2=b&par1=a
urlencode 编码
函数urlencode不会改变传入参数的原始编码,也就是说需要在调用之前将post或get参数的编码调整好。Python编码转换可以参考http://www.pythonclub.org/python-basic/codec 。
问题:现在模拟请求Google和baidu,由于baidu使用的是gb2312编码,google使用的是utf8编码,两个站点提交到URL中的中文参数的urlencode值是不一样,下面以”帝国”为例:
python文件的
# coding: UTF-8
执行urllib.urlencode(“帝国”)得到的结果是:%E5%B8%9D%E5%9B%BD, 此结果说明默认使用 urlencode得到的结果是utf8编码的“帝国”。
现在想得到gb2312编码的“帝国”怎么办呢?
st = u'帝国'
st = st.encode('gb2312')
m = {'par':st,}
s = urllib.urlencode(m)
print s
#结果为par=%B5%DB%B9%FA
---->这个是说把‘帝国’放到url的参数后面
django中urlencode类似,方法如下:
from django.utils.httpimport urlquote
a = urlquote('帝国')
print a
得到汉字的GBK编码
其实可以用urllib的quote函数对URL中的中文进行转换,将中文转换成GBK的编码,得到的编码是符合URI标准的URL。
>>> import urllib>>> a = "帝国"
>>> a'\xb5\xdb\xb9\xfa'
>>> urllib.quote(a)'
%B5%DB%B9%FA'
>>>
转自:http://hi.baidu.com/qiansumiao/blog/item/9e5bf3447803b31f86947361.html
- python的url编码问题
- python的url编码
- python url链接编码问题
- Url链接的编码问题
- 关于url的编码问题
- 关于url的编码问题
- python的编码问题
- Python的编码问题
- Python 的编码问题
- python的编码问题
- python编码的问题
- python的编码问题
- Python的编码问题
- python的编码问题
- Python的编码问题
- Python的编码问题
- python的编码问题
- Python的编码问题
- Jquery-zTree的基本用法
- 15个步骤收获一生的学习习惯
- msmq两个网域之间消息传输与接收测试总结
- 嵌入式Linux开发环境构建(基于Ubuntu12.04 LTS)
- eclipse 中常用的快捷键
- python的url编码问题
- linux 中解析命令行参数 (getopt_long用法)
- HDU 1003——Max Sum (单调队列做法)
- checkbox 默认勾选
- Linux 内核中的 cdev_alloc和cdev_add
- Android AnimationDrawable运行的几种方式
- CentOS5使用Yum安装PHP5.3的两种方法
- LightMaps 光照贴图
- 用STUNNEL和CCPROXY组建加密代理系统