一款非常好用的python http客户端,大家在使用吗?

大家好!我是黑客之家小编,黑客之家头条号分享黑客技术,GO、Python、Kotlin、Android、Java编程知识,科技资讯等

喜欢的朋友可以关注我的头条号!

一款非常好用的python http客户端,大家在使用吗?

python http

这是一款非常简单易用的python http客户端,它的api优雅简洁,非常人性化。它就是python中的requests框架。requests可以用来做python网络爬虫中的网络请求部分,经常和beautifulsoup组合使用,用在爬虫方面。还可以用来调试接口请求,构造网络相应的网络请求,可以用requests来替代postman作为接口调试的工具,个人感觉要比postman更为方便。这是一款最好用的http客户端,包括其他编程语言在内编写的http客户端可能都不及requests好用。今天主要介绍一下requests的安装和基本用法。

一款非常好用的python http客户端,大家在使用吗?

requests

requests的安装非常简单执行如下命令即可:

<code>pip3 install requests/<code>

在学习requests之前我们还需要一个服务器,因为requests是一个http客户端,只能发送请求到服务器,这时我们之前文章 中介绍的sanic服务器就可以派上用场了。通过这两个框架我们就可以自己搭建服务器和使用http客户端,可以更好的学习服务器知识和http协议相关内容。

下面我们就来看一下requests的庐山真面目。

<code>res = requests.get('http://127.0.0.1:8000')print(res.status_code)print(res.content)print(res.headers['content-type'])/<code>

执行上面源码运行结果如下:

<code>200b'Hello World!'text/plain; charset=utf-8/<code>

这样我们就完成了requests的Hello World!了,是不是很简单?

一款非常好用的python http客户端,大家在使用吗?

Requests:HTTP for Humans

通常我们用Get方法时也会传递一些参数,这时应该怎么处理呢?

<code>payload = {'key1': 'value1', 'key2': 'value2'}res_params = requests.get('http://127.0.0.1:8000/query_string', params=payload)print(res_params.status_code)print(res_params.content)print(res_params.headers['content-type'])/<code>

只需要在get方法中添加一个params参数即可,通过字典形式把参数传递到params中,执行上面代码运行结果如下:

<code>200b'{"parsed":true,"args":{"key1":["value1"],"key2":["value2"]},"url":"http:\\\\/\\\\/127.0.0.1:8000\\\\/query_string?key1=value1&key2=value2","query_string":"key1=value1&key2=value2"}'application/json/<code>

大家可以看到这次返回的类型是json,因为sanic服务器设置的返回类型就是json。大家如果需要sanic服务器源码可以在后台私信"sanic",这样就会把源码下载地址发送给大家。

如果请求中需要添加请求头应该怎么处理呢?

<code>payload = {'key1': 'value1', 'key2': 'value2'}headers = {'user-agent': 'firefox 100'}res_params = requests.get('http://127.0.0.1:8000/query_string', params=payload, headers=headers)print(res_params.status_code)print(res_params.content)print(res_params.headers['content-type'])/<code>

requests get方法支持headers参数,请求头以字典形式传递给headers参数,这样在请求时就携带了请求头。在sanic服务器端就可以接收到请求头user-agent的值为firefox 100。

我们再来看一下request post方法应该怎么使用呢?

<code>import requestsdata = {"hello": "world", "test": "post"}res = requests.post("http://127.0.0.1:8000/post_json", json=data)print(res.content)response = requests.post("http://127.0.0.1:8000/form", data=data)print(response.content)/<code>

post请求方式和get请求使用类似,只是参数不同,post请求方式支持json参数,可以直接传递json数据,data参数可以传递表单数据。requests的使用是不是很简单呢?

requests的安装和基本用法就介绍这里。喜欢的朋友可以关注、点赞、转发、评论!期待大家的反馈意见!

相关阅读:


分享到:


相關文章: