`

python urlencode 编码

 
阅读更多

urlencode 调用方法

urlencode的参数必须是Dictionary

d= {'par1':'a','par2':'b',}
print urllib.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

django中urlencode类似,方法如下:

from django.utils.http import 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'
>>>
分享到:
评论

相关推荐

    UrlEncode编码转换.zip

    这个压缩包文件"UrlEncode编码转换.zip"很可能包含了关于如何进行URL编码转换的相关教程或工具。在这个讨论中,我们将深入探讨URL编码的原理、用途以及如何进行编码和解码。 URL编码是因特网标准RFC 3986定义的一...

    UrlEncodeDecode解码编码工具(双向)

    在编程语言中,如JavaScript、Python、Java等,都有内置的函数来实现UrlEncode和UrlDecode的操作,但这些函数通常只适用于单一语言环境。而独立的工具则提供了跨平台、跨语言的解决方案,无论你使用何种技术栈,都...

    Python2和Python3中urllib库中urlencode的使用注意事项

    # 调用urlencode编码 data = urllib.urlencode(values) # 构造请求的URL url = "https://passport.csdn.net/account/login?from=http://my.csdn.net/my/mycsdn" # 创建请求对象 request = urllib2.Request(url, ...

    Python urlencode和unquote函数使用实例解析

    当url地址含有中文,或者参数有中文的时候,这个算是很正常了,但是把这样的url作为参数传递的时候(最常见的callback),需要把一些中文甚至’/’做一下编码转换。 所以对于一些中文或者字符,url不识别的,则需要...

    Python编码类型转换方法详解

    ### Python编码类型转换方法详解 在进行跨平台或多语言应用开发时,正确处理不同编码格式下的文本至关重要。Python 自 2.0 版本起引入了 Unicode 字符串支持,以便更好地处理各种语言的文本数据。本文将详细介绍 ...

    对python中url参数编码与解码的实例详解

    在python中url,对于中文等非ascii码字符,需要进行参数的编码与解码。 二、关键代码 1、url编码 对字符串编码用urllib.parse包下的quote(string, safe=’/’, encoding=None, errors=None)方法。 对json格式的参数...

    Python3中urlencode和urldecode的用法详解

    在Python3中,将中文进行urlencode编码使用函数 urllib.parse.quote(string, safe='/', encoding=None, errors=None) 而将编码后的字符串转为中文,则使用 urllib.parse.unquote(string, encoding='utf-8', errors...

    urlEncode or urlDecode

    `urlDecode` 则是`urlEncode`的逆操作,用于解码已经编码的URL,将百分比编码恢复为原始字符。在接收到URL后,服务器端或客户端通常需要执行此操作来解析出正确的信息。 在实际应用中,`urlEncode`常用于将查询参数...

    UrlEncode解码

    在发送某些包含非ASCII字符的数据时,比如空格、中文字符、特殊符号等,就需要进行UrlEncode编码,以确保数据能在网络上正确传输。 1. **Url编码原理** - Url编码基于百分号(%)表示法,将非ASCII字符转换为ASCII...

    用python实现下载百度mp3

    3. `urllib.parse`(或`urllib.urlencode`,在旧版本的Python中):用来处理URL编码,这对于构建正确的搜索请求参数至关重要。 4. `os` 和 `sys`:这两个模块分别用于处理操作系统交互和系统相关的信息,例如设置...

    Python爬虫爬取智联招聘

    在基础版中,作者提到了urllib库的urlencode函数,它是urllib库中的一个用于处理URL编码的工具,可以将字典或字符串转化为URL编码格式。此外,requests库是Python中最常用、最强大的HTTP库之一,能够发送各种HTTP...

    解决python3 urllib 链接中有中文的问题

    此外,对于Python 3的`urllib`库,还有`urllib.parse.urlencode()`函数,用于将字典或元组序列转换为URL查询字符串。如果URL中的中文字符位于查询参数中,你可能需要使用这个函数而不是直接调用`quote()`。 总结来...

    基于Python的新华字典api调用代码实例.pdf

    首先,文档展示了Python的编码规范,即`#!/usr/bin/python`和`#-*-coding:utf-8-*-`,这表明了脚本使用UTF-8编码,并指定了解释器路径。 接着,导入了`json`和`urllib`模块,以及`urlencode`函数。这些是实现网络...

    Python爬虫入门

    urllib和urllib2模块提供的urlencode方法可以对数据进行编码,使其适用于HTTP请求体的传输。 10. **数据提取技术**:爬虫中重要的一步是数据提取。在给定的文件中,可以通过HTML标签解析或正则表达式等方式提取网页...

    Python中json格式数据的编码与解码方法详解

    本文实例讲述了Python中json格式数据的编码与解码方法。分享给大家供大家参考,具体如下: python从2.6版本开始内置了json数据格式的处理方法。 1、json格式数据编码 在python中,json数据格式编码使用json.dumps...

    python登录

    encoded_data = urllib.parse.urlencode(post_data).encode('utf-8') # 构建Request对象 request = urllib.request.Request(post_url, data=encoded_data, headers=headers) # 发送POST请求并打印响应 response = ...

    python2与python3爬虫中get与post对比解析

    - 在Python 2中,同样使用urllib的urlencode函数编码POST请求的数据,并将编码后的数据作为data参数传递给urllib2的Request对象。 - 在Python 3中,将POST请求的数据编码后转换为bytes类型,并可以直接在urlopen...

Global site tag (gtag.js) - Google Analytics