首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

python接口自动化27-urlencode编码与解码

在做接口自动化过程中,http协议在发送url的时候,是以urlencode编码格式传过去的,通常requests库会帮我们自动处理了。...但是服务端返回的url地址,有时候是以urlencode编码传过来的,我们需要从url上提取一些参数信息,这时候就需要对url解码了。...为什么需要urlencode编码 通常如果一样东西需要编码,说明其并不适合直接传输。原因多种多样,如Size过大,包含隐私数据。对于Url来说,之所以要进行编码,是因为Url中有些字符会引起歧义。...a=%E4%B8%8A%E6%B5%B7&b=%E6%82%A0%E6%82%A0 通过fiddler抓包看raw,会发现传过去的request部分,是经过了urlencode编码的(编码的操作requests...库已经帮我们自动处理了,这就是requests人性化的地方) urlencode编码 如果我们想自己操作,对字符串传入的字典参数进行urlencode编码,就需要用到两个方法urlencode和quote

2.4K30
您找到你想要的搜索结果了吗?
是的
没有找到

python中的urlencode和ur

当url地址含有中文,或者参数有中文的时候,这个算是很正常了,但是把这样的url作为参数传递的时候(最常见的callback),需要把一些中文甚至'/'做一下编码转换。...一、urlencode urllib库里面有个urlencode函数,可以把key-value这样的键值对转换成我们想要的格式,返回的是a=1&b=2这样的字符串,比如: >>> from urllib...\xa7\xca\xde' >>> print unquote('%C4%A7%CA%DE') 魔兽 三、讨论 在做urldecode的时候,看unquote()这个函数的输出,是对应中文在gbk下的编码...,在对比一下quote()的结果不难发现,所谓的urlencode就是把字符串转车gbk编码,然后把\x替换成%。...如果你的终端是utf8编码的,那么要把结果再转成utf8输出,否则就乱码。 可以根据实际情况,自定义或者重写urlencode()、urldecode()等函数。

2.1K10

PHP中的urlencode和urldecode

使用urlencode()函数编码中文字符实质上就是把字符转换为十六进制再在第个字符左边加上一个特殊的标识符% urldecode()函数与urlencode()函数原理相反,用于解码已编码的 URL...字符串,其原理就是把十六进制字符串转换为中文字符 urlencode (PHP 3, PHP 4, PHP 5) urlencode -- 编码 URL 字符串 说明 string urlencode...此编码与 WWW 表单 POST 数据的编码方式是一样的,同时与 application/x-www-form-urlencoded 的媒体类型编码方式一样。...由于历史原因,此编码在将空格编码为加号(+)方面与 RFC1738 编码(参见 rawurlencode())不同。...此函数便于将字符串编码并将其用于 URL 的请求部分,同时它还便于将变量传递给下一页 urldecode (PHP 3, PHP 4, PHP 5) urldecode -- 解码已编码的 URL 字符串

2.2K10

python中的urlencode与urldecode

caicaihong/p/5687522.html 当url地址含有中文,或者参数有中文的时候,这个算是很正常了,但是把这样的url作为参数传递的时候(最常见的callback),需要把一些中文甚至’/'做一下编码转换...所以对于一些中文或者字符,url不识别的,则需要进行转换,转换结果如下: 一、urlencode urllib库里面有个urlencode函数,可以把key-value这样的键值对转换成我们想要的格式,...url="http://www.baidu.com" data=urllib.parse.urlencode(values) print(data) 结果如下: username=02%E8%94%A1%...E5%BD%A9%E8%99%B9&password=ddddd%3F 如果只想对一个字符串进行urlencode转换,怎么办?...import urllib.parse s='长春' s=urllib.parse.quote(s) print(s) 输出结果为: %E9%95%BF%E6%98%A5 二、urldecode 当urlencode

1.4K30

Python接口测试之urllib.parse.urlencode

引言   今天将的接口测试中常见的一种请求数据类型,key=value形式,并且以urlencode编码方式去请求。可能有些人从未遇到过,因为如果接口没有这样定义或解析,是不需要这样操作。   ...背景   我就拿我实际工作中项目中的接口来讲,如图:   可以看出来,这个接口的body数据是以key=value形式,并且进行了urlencode编码,body的数据类型是bytes,而不是str。...   对于上图的http来分析,我们需要转码,就要使用urllib中的urlencode方法将字典编码,用于提交数据给url等操作。   ...方法如下: urllib.parse.urlencode(values)   以上红色框框,就是最重要的3点,做好了,就可以正常调用这个接口。最终获取业务数据。   ...() 不能对string编码,只能对dict类型编码 urllib.parse.urlencode() #将dict类型参数转化为query_string格式(key=value&key=value),

2.1K30
领券