写cgi经常碰到的一个问题就是对url进行编码和解码,python提供了很方便的接口进行调用。

url中的query带有特殊字符(不是url的保留字)时需要进行编码。

当url中带有汉字时,需要特殊的处理才能正确编码,以下都只针对这种情形,当然也适用于纯英文字符的url。
(1) url编码:
import urllib
url = 'http://test.com/s?wd=哈哈 '
url = url.decode('gbk', 'replace')
print urllib.quote(url.encode('utf-8', 'replace'))
结果: http%3a%2f%2ftest.com%2fs%3fwd%3d%e5%93%88%e5%93%88
(2) url解码:
import urllib
encoded_url = ' http%3a%2f%2ftest.com%2fs%3fwd%3d%e5%93%88%e5%93%88 '
print urllib.unquote(encoded_url).decode('utf-8', 'replace').encode('gbk', 'replace')

函数调用的参数以及结果都是utf-8编码的,所以在对url编码时,需要将参数串的编码从原始编码转换成utf-8,
对url解码时,需要将解码结果从utf-8转换成原始编码格式。
转自: http://huntmind.blog.163.com/blog/static/133672943201362594958796/

使用python对url编码解码 (转)相关推荐

  1. 使用python对url编码解码

    最近在抓取一些js代码产生的动态数据,需要模拟js请求获得所需用的数据,遇到对url进行编码和解码的问题,就把遇到的问题总结一下,有总结才有进步,才能使学到的知识更加清晰.对url进行编码和解码,py ...

  2. URL编码/解码详解

    URL编码/解码详解 当 URL 路径或者查询参数中,带有中文或者特殊字符的时候,就需要对 URL 进行编码(采用十六进制编码格式).URL 编码的原则是使用安全字符去表示那些不安全的字符. 安全字符 ...

  3. 使用python进行URL编码

    原创:https://blog.csdn.net/qq_38607035/article/details/82594822 为什么要对URL进行encode 在写网络爬虫时,发现提交表单中的中文字符都 ...

  4. python使用base64编码解码数据

    python使用base64编码解码数据 base64模块是用来作base64编码解码,常用于小型数据的传输.编码后的数据是一个字符串,其包括a-z.A-Z.0-9./.+共64个字符,即可用6个字节 ...

  5. java url加密解密,java URL 编码解码,该如何解决

    java URL 编码解码 我写了两个接口 一个是对字符串加密 的,一个是解密的  .加密的可以通过调用接口生成加密字符串如下: Oc0PEwKrLzHqT25hYLhWP5wlk5HROPJoWC3 ...

  6. 编码解码--url编码解码

    url编码解码,又叫百分号编码,是统一资源定位(URL)编码方式.URL地址(常说网址)规定了常用地数字,字母可以直接使用,另外一批作为特殊用户字符也可以直接用(/,:@等),剩下的其它所有字符必须通 ...

  7. URL编码解码工具类

    /****************************************************************************** * CREATETIME : 2016年 ...

  8. Python对URL编码和解码

    在做接口测试时,时常会发现抓取的接口参数中含有这种数据: %3D%5B%7B%22mainspucode%22%3A%22SPU66668%22%2C%22mainskucode%22%3A%2253 ...

  9. python url编码解码_python 实现 urlencode 与 urldecode (中文及特殊字符编解码)

    这里说的urlencode非python自带的urlencode是与 初学python 风格较烂 勿喷. # -*- coding: UTF-8 -*- #编码 def urlencode_pl(in ...

最新文章

  1. git 提交跳过检查
  2. 几个与PPT相关的Blog
  3. thymeleaf 学习笔记-基础篇(中文教程)
  4. 编译安装httpd-2.4.12
  5. 为什么现在电脑基本没有病毒了?
  6. HTML5 Canvas学习---第一章 《Hello World及图片显示》
  7. Linux日志终极指南
  8. SQL注入漏洞-SQL盲注
  9. flash player 10 beta已经放出
  10. C语言编程学习的经验
  11. 如何提高你的工作效率
  12. 文献综述是什么?怎么写?内附简洁模板
  13. kettle启动时报错:Maximum wait time of 10 seconds exceed while acquiring lock
  14. 解决uniapp的 swiper 组件的随着指示点添加背景宽度不随着内容添加而自动扩大问题,而是溢出。
  15. 《30而已》烂尾,如果这样卖空山茶,顾佳会逆袭
  16. 复合材料力学_桥桂琼编_西工大版
  17. vue 省市区选择插件v-distpicker设置初值与选择后触发方法
  18. 什么是链接,为什么需要链接?
  19. 【[SDOI2008]山贼集团】
  20. 三角形已知三个点坐标,求外心坐标的公式

热门文章

  1. 短网址,网址缩短源代码
  2. python3调用USB高帧率摄像头
  3. DIY一把属于自己的机械键盘(三)
  4. 踩了大坑:https 证书访问错乱
  5. 基于Vue框架的预览组件xh-image-preview
  6. 绘一场流年锦瑟,听一曲清扬花落
  7. python核心编程笔记
  8. 7-1 藏尾诗 (20 分)
  9. 【Machine Learning】18.Softmax函数
  10. 小程序+动易SF制作随手拍实例全景式操作(2)