我们相信:世界是美好的,你是我也是。平行空间的世界里面,不同版本的生活也在继续...

在上一篇文章里面,苏南大叔使用flask创建了一个api服务器,这个服务器可以响应get/post请求。那么,如何利用python获取这些json响应值呢?

苏南大叔:python代码,如何利用requests模块发出get或者post请求? - requests-get-post
python代码,如何利用requests模块发出get或者post请求?(图2-1)

大家好,这里是苏南大叔的程序如此灵动博客,这里记录苏南大叔和计算机代码的故事。本文描述pythonrequests模块的基本使用。测试环境:win10python@3.6.8

基本描述

本文描述的是使用requests模块,在python中,并不是仅仅只有requests模块,可以实现这个需求,还有很多其它的类似的模块。headers信息,并不是必须的。是出于测试目的而写的。

本文中请求的接口地址,是由flask模块提供的,【配套的服务器端代码】,可以参考下面的链接:

基础测试代码如下:

import requests
import json
_headers = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36',
    'Cookie': 'JSESSIONID=C87094F7F00867BA60ADBCE0473720B0'
}

苏南大叔:python代码,如何利用requests模块发出get或者post请求? - requests代码
python代码,如何利用requests模块发出get或者post请求?(图2-2)

get请求

这里的代码,headers信息并不是必须的。但是如果服务器端做了限制的话,就可以修改headers信息。
测试代码如下:

_url = "http://127.0.0.1:8888/_get"
res = requests.get(url=_url, headers=_headers, params={"id": 1})
json_obj = json.loads(res.text)
print(json_obj)

返回值为:

{'msg': 'get用户id为1', 'header': 'JSESSIONID=C87094F7F00867BA60ADBCE0473720B0'}

post请求

这里的代码,headers信息并不是必须的。但是如果服务器端做了限制的话,就可以修改headers信息。
测试代码如下:

_url = "http://127.0.0.1:8888/_post"
res = requests.post(url=_url, headers=_headers, data={"id": 2})
json_obj = json.loads(res.text)
print(json_obj)

返回值为:

{'msg': 'post用户id为2', 'header': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36'}

保存为文件

method方法设置参数方式
GETrequests.get()params={}
POSTrequests.post()data={}

一般来说,网络文件使用get请求来获得,当然也可以添加headers信息。测试代码如下:

_url = "https://newsn.net/usr/themes/panda/assets/img/logo_multi.png"
res = requests.get(_url, headers=_headers)
with open('abc.png', 'wb') as f:
    f.write(res.content)

相关文章

本文配套的服务器端代码,来自于这里:

对于的响应返回的文本,可以使用json.loads()继续处理,可以参考下面的链接:

综述

对于在python中,发出get或者post请求。可以利用的模块有很多个,本文中的requests模块,只是其中的一个模块。更多python相关经验文章,请点击:

助理微信

微信打赏码

微信公众号

微信小程序

如果本文对您有帮助,或者节约了您的时间,欢迎打赏瓶饮料,建立下友谊关系。
本博客不欢迎:各种镜像采集行为。请尊重原创文章内容,转载请保留作者链接。

 【福利】 腾讯云最新爆款活动!1核2G云服务器首年50元!

 【源码】本文代码片段及相关软件,请点此获取更多信息

 【绝密】秘籍文章入口,仅传授于有缘之人   python