python+request_[Python系列]Python的request库

Python经常被用来做爬虫和http接口测试,很大一部分原因就是requests库的方便易用,实际学习过程中可以对比下java的httpclient包。

1.安装requests库

pip install requests

requests定义了常用的http方法:

requests.get(“https://xxx”) #GET请求

requests.post(“https://xxx”) #POST请求

requests.put(“https://xxx/put”) #PUT请求

requests.delete(“https://xxx/delete”) #DELETE请求

requests.head(“https://xxx/get”) #HEAD请求

requests.options(“https://xxx/get”) #OPTIONS请求

```

以最常用的get方法为例:

```

# 不带参数的get方法

def member_in():

ret = None

try:

ret = requests.get(globals.member_in_url)

except Exception as e:

logging.info("member_in failed : " + e.message)

return

sid = ret.content

logging.info("member_in success " + sid)

return sid

# 带参数的get方法

def member_out(sid):

try:

# get可通过url传参

requests.get(globals.member_out_url + "?sid=" + sid)

# requests.get(globals.member_out_url, params={'sid': sid})

except Exception as e:

logging.info("member_out failed :" + e.message)

return

logging.info("member_out success : " + sid)

return

```

post方法带参数:

```

import requests

import json

# 键值对参数

requests.post(globals.member_out_url, data={'intence': 'POST测试'})

# 待json参数

requests.post(globals.member_out_url, data=json.dumps({'intence': 'POST测试'}))

```

设置header

```

import requests

import json

data = {'test': 'testdata'}

headers = {'content-type': 'application/json','xxx','yyy'}

r = requests.post(globals.member_out_url, data=data, headers=headers)

print(r.text)

```

3.response对象

requests的方法会返回一个response对象,类似java里面的HttpResponse

```

r = requests.get(globals.member_out_url)

logger.info(r.status_code) #返回http状态码。

logger.info(r.raw) #返回原始响应体,也就是 urllib 的 response 对象。

logger.info(r.content) #字节方式的响应体,会自动为你解码 gzip 和 deflate 压缩。

logger.info(r.text) #字符串方式的响应体,会自动根据响应头部的字符编码进行解码。

logger.info(r.headers) #以字典对象存储服务器响应头。

```

4.其他

cookie,鉴权等等

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值