美文网首页
记Request库的学习过程

记Request库的学习过程

作者: 十八岁程序少年 | 来源:发表于2018-11-03 09:54 被阅读0次

    首先request库的学习

    request-get

    request的get函数也可以传入头信息,如果正常get-url有错误,错误提示为403或500都可以加上头文件然后再进行get请求

    get+头请求

    request还有post请求

    post请求

    如何将对url的请求保存到文件/图片视频都可以

    使用python向本地保存图片

    视频也可以

    使用python向本地保存视频

    使用request进行post请求,参数data可以传递post的数据,request最新版本可以直接对json数据进行post请求

    request 使用json

    Request 使得上传多部分编码

    通过文件传入请求头

    也可以设定文件名,文件类型,请求头:

    设定文件类型与请求头

    //好吧,这是我唯一不懂的地方,官方给的文档是可以放松作为文件来接收的字符串,搞不懂为什么要以文件的形式发送字符串,具体有什么用处,不太了解。

    发送作为文件来接收的字符串

    响应状态码 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的错,字典结构没有这个词。然后我还不信,循环打印了一下,仔细瞅了一下我擦,还真没有,估计是我请求的网址不对吧,过两天再过来瞅一下

    还在连载。。。

    相关文章

      网友评论

          本文标题:记Request库的学习过程

          本文链接:https://www.haomeiwen.com/subject/tpzhxqtx.html