记Request库的学习过程
首先request库的学习
request-getrequest的get函数也可以传入头信息,如果正常get-url有错误,错误提示为403或500都可以加上头文件然后再进行get请求
get+头请求request还有post请求
post请求如何将对url的请求保存到文件/图片视频都可以
使用python向本地保存图片视频也可以
使用python向本地保存视频使用request进行post请求,参数data可以传递post的数据,request最新版本可以直接对json数据进行post请求
request 使用jsonRequest 使得上传多部分编码
通过文件传入请求头也可以设定文件名,文件类型,请求头:
设定文件类型与请求头//好吧,这是我唯一不懂的地方,官方给的文档是可以放松作为文件来接收的字符串,搞不懂为什么要以文件的形式发送字符串,具体有什么用处,不太了解。
发送作为文件来接收的字符串响应状态码 status_code,Request库还附带了一个内置的状态吗查询对象:(我一次没有用过) requests.codes.ok,我一般都用 200来检查是否请求成功。也可以通过raise_for_status()来抛出异常,
raise_for_status()使用这个的话如果请求状态码返回的不是200可以抛出异常,不用自己写一个try catch这样的表达式了,当然也可以写如果返回码不是200,提前中断程序的运行,好多种方法。
值得注意的是raise_for_status()这个函数只能是(4xx客户端错误,或者5xx服务器错误)才会中断。
如果请求码为200时,raise_for_status()返回值为none;
Cookie(敲黑板,这个很重要的,某个响应中包含一些cookie,你可以快速访问它们。
快速访问cookies发送cookies到服务器,吐个槽(我发现,get函数参数是真的多,而且全,应有尽有。)
向服务器请求时传入cookies参数Request库的重定向和请求历史也是很方便,重定向参数是allow_redirects(bool型)
history and redirect超时<timeout>,timeout参数可以设置自己要的秒数.timeout仅对连接过程有效,与响应体的下载无关。timeout并不是整个下载响应的时间限制,而是如果服务器在timeout秒内没有response,将会引起一个异常《if no timeout is specified explicitly,requests do not time out,
timeout测试错误与异常<常见的一些>
网络问题————ConnectionError
HTTP—————HTTPError
请求超时————Timeout
...........
//request库的一些高级用法
Request 会话使用教程。
值得注意的是就算使用了会话,方法级别的参数也不会跨请求保持。下面的例子只会和第一个请求发送cookie,而非第二个。
session 使用进阶请求与响应对象
任何时候进行了类似request.get()的调用,都只有两部分,第一部分是构建一个Request对象,该对象将发送到某个服务器请求或查询一些资源。其二,一旦requests得到一个从服务器返回的响应就会产生一个Response对象(其中包含服务器包含的所有信息,也包含曾经创建的requests对象。
可以通过下面这种方式查看请求时的头文件。
通过Request库获得自己请求的头文件响应头链接字段
运行的话,会报一个KeyError的错,字典结构没有这个词。然后我还不信,循环打印了一下,仔细瞅了一下我擦,还真没有,估计是我请求的网址不对吧,过两天再过来瞅一下
还在连载。。。