时间:2022-10-09 17:41:37 | 浏览:3826
urllib是基于http的高层库,它有以下三个主要功能:
request处理客户端的请求
response处理服务端的响应
parse会解析url
urllib.request模块定义了一些打开URLs(一般是HTTP协议)复杂操作像是basic和摘要模式认证,重定向,cookies等的方法和类。这个模块式模拟文件模块实现的,将本地的文件路径改为远程的url。因此函数返回的是类文件对象(file-like object)
运用方法
urllib.request.urlopen(url, data=None, [timeout, ]*, cafile=None, capath=None, cadefault=False, context=None)
url可以是一个字符串形式或者Request 对象
如果data参数有值就是用post方式响应否则默认为GET 方式
urllib.request 模块使用HTTP/1.1 的无连接的状态协议
urlopen()函数返回类文件对象,提供以下内建方法:
read() , readline() ,readlines() , fileno() , close() :这些方法的使用方式与文件对象完全一样
info():返回一个httplib.HTTPMessage对象,表示远程服务器返回的头信息
getcode():返回Http状态码。
如果是http请求:
(informational):请求已经收到,正在进行中
(successful):请求成功接收,解析,完成
(Redirection):需要重定向
(Client Error):客户端问题,请求存在语法错误,网址未找到
(Server Error):服务器问题
geturl():返回请求的url
urllib库里面有个urlencode函数,可以把key-value这样的键值对转换成我们想要的格式,返回的是a=1&b=2这样的字符串,比如:
当urlencode之后的字符串传递过来之后,接受完毕就要解码了——urldecode。urllib提供了unquote()这个函数,可没有urldecode()!
好,话不多说,上源码,这个就是短短的不到三十行代码的翻译器。
这里要注意的是两个函数
urllib.request.urlopen()
urllib.parse.urlencode()
urllib.request.urlopen()函数其实不止一个参数,有好几个哦,其中第二个是data,data应该是一个buffer的标准应用程序/ x-www-form-urlencoded格式。
urllib.parse.urlencode()函数接受一个映射或序列集合,并返回一个字符串的格式。我们可以看看urllib.parse.urlencode()的结果是什么样的:
上图的结果刚好与urllib.request.urlopen()的data参数的数据类型要求一致了。
注意,上面urlopen当中的url,这个是分析有道翻译页面的真实的Request URL:
4月8日消息,日经亚洲报道,京东方表示计划今年将OLED面板的交付量提升70%,产量将从2021年的6000万个提升到今年的1亿个。iPhone14预计将继续采用60Hz刷新率的OLED面板,京东方仍会是屏幕供应商之一。
自己花钱购买、种在自家院外的香樟树找人“修剪”后竟被处罚14.42万元!这一话题最近登上了热搜上海一市民修剪自己买的香樟树,罚款14.42万元?!钱罚了公众的疑惑还没有被解答今天,相关部门负责人走进《直通990》节目回应了大家关心的几个问题
随着互联网的发展,网站现在已成为个人企业的标配,如何建设网站呢?很多人对网站建设不是很了解!如果你想建立一个网站,或者你正在建设一个网站,那么你是在正确的地方。时代创信小遍将为您介绍怎样制作网站整个过程,以帮助您在第一次正确完成任何事情。从
IT之家 9 月 8 日消息,Apple 今天宣布推出 iPhone 14 和 iPhone 14 Plus,在备受欢迎的 6.1 英寸显示屏基础上,新增 6.7 英寸显示屏;搭载全新双摄系统和车祸检测功能;具备 iPhone 最佳电池续航
来源:中国教育在线对于全民鸡娃的家长来说,鸡娃也要趁早,尤其是英语这一语言关,一定要尽早开始,能不能打通关不知道,反正早早入门抢占先机已成为鸡娃家长们之间不用多说的铁律。为啥?其实也很简单。人类大脑有它的脾气。它的语言敏感期就那么几年,要是
你的钱准备好了吗?2018年款iPhone已经正式登场,在未来1年中你会挑选哪款iPhone陪伴你呢?如果目前已经拥有iPhone X是否有必要升级iPhone XS Max?现在是购买iPhone 7或者7 Plus的最佳时机?带着这些疑
明天凌晨,我们将正式迎来今年的新iPhone(iPhone X/8/8 Plus),对于iPhone而言,今年已经是第十周年,下面我们一同来回顾这十年来的12款iPhone。(图片引自搜狐科技)
苹果一年一度的手机发布会9月9日就亮相了,在我的印象里,自从iPhone4代开始,每一代的iPhone都会成为一代街机,当然这里的街机不是贬义词,因为无论是从外观,还是实用性还是逼格,iPhone都能满足。总觉得在中国,无论是月薪2000还
苹果手机非常的耐用相信iPhone用户都知晓,当目前为止,小编身旁还有很多在使用iPhone6、iPhone7,只不过最近他们都去换了一次电池,然后就像满血复活了一样,不过当下在售的iPhone手机有很多,但并不是每一款都值得入手,以下3款
2017-09-12 05:45:00 作者:邓旭明天凌晨,我们将正式迎来今年的新iPhone(iPhone X/8/8 Plus),对于iPhone而言,今年已经是第十周年,下面我们一同来回顾这十年来的12款iPhone。(图片引自搜狐科