requests模块

  requests是python中实现http请求的一种方式,requests是第三方模块,该模块在实现http请求时要比urllib模块简化很多,操作更加人性化。特性如下:

    Keep-Alive&连接池

    Unicode响应体

    国际化域名和URL

    HTTP(S)代理支持

    带持久Cookie的会话

    文件分块上传

    浏览器式的SSL认证

    流下载

    自动内容解码

    连接超时

    基本/摘要式的身份认证

    分块请求

    优雅的key/value Cookie

    支持.netrc

    自动解压

以GET请求方式如下:

import requests

response=requests.get('http://www.baidu.com')
print(response.status_code)     #打印状态码
print(response.url)     #打印请求url
print(response.headers)     #打印头部信息
print(response.cookies)     #打印cookie信息
print(response.text)        #以文本形式打印网页源代码
print(response.content)     #以字节流形式打印网页源代码

 

以POST请求方式,发送HTTP网络请求的代码如下:

import requests

data={'word':'hello'}   #表单参数

response=requests.get('http://httpbin.org/post',data=data)
print(response.content)

 

 

requests模块不仅提供了以上两种的请求方式,还提供了以下多种网络请求的方式

import requests

data={'word':'hello'}

requests.put('http://httpbin.org/put',data={'key':'value'}) #PUT请求
requests.delete('http://httpbin.org/delete')    #DELETE请求
requests.head('http://httpbin.org/get')    #HEAD请求
requests.options('http://httpbin.org/get')  #OPTIONS请求

 

 

  如果发现请求的URL地址中参数是跟在问号后面。requests模块提供了传递参数的方法,允许使用params关键字参数,以一个字符串字典来提供这些参数。例如:

import requests

payload={'key1':'value1','key2':'value2'}

response=requests.get('http://httpbin.org/get',params=payload)
print(response.content)

 

posted @ 2019-02-27 09:26  余火灬  阅读(132)  评论(0编辑  收藏  举报