学习python必须要学的一个库就是requests库,这个库的主要用途就是能非常加简单的完成python上的网络请求工作。废话不多说,直接上干货。
一、安装requests
Python上安装第三方库是,一般使用easy_install和pip,pip其实是easy_install的一个升级版。如果没有这两个工具,就需要先安装这两个工具了。执行下面进行requests安装:
easy_install-3.6 requests
这里需要注意,很多情况,由于安装多个python的原因,会出现多个版本的easy_install,入下图所示:
easy_install而requests库要求安装到执行目录下才行,否则会报:ModuleNotFoundError: No module named 'requests'。
二、编写代码:
#!/usr/local/bin/python3
#coding=utf-8
import requests
import json
class RequestsOperation(object):
#封装post请求
def __post(self,url,data,header=None):
res = None
if header != ' ':
res = requests.post(url=url,data=data,headers=header)
else:
res = requests.post(url=url,data=data)
return res
#封装get请求
def __get(self,url,data=None,header=None):
res = None
if header != ' ':
res = requests.get(url=url,data=data,headers=header)
else:
res = requests.get(url=url,data=data)
return res
def requestsOperation(self,method,url,data=None,header=None):
res = None
methodStr = method.upper()
if methodStr == 'POST':
res = self.__post(url,data,header)
elif methodStr == 'GET':
res = self.__get(url,data,header)
else:
res = self.__get(url,data,header)
return res
method = RequestsOperation()
res = method.requestsOperation("post", "https://private-b03185-geminimxz.apiary-mock.com/login", {"user_name":"vincent"})
print(res.text)
res = method.requestsOperation("Get", "https://private-b03185-geminimxz.apiary-mock.com/userInfo")
print(res.text)
代码特殊说明:
- 类的方法名前加__表示私有方法,外面无法直接使用。如果外面调用,会提示:
- python支持默认参数值,当没有指定参数值时,使用默认值。
- string.upper()主要是为了统一大小写,便于字符串比较。
三、如何查看requests中的api
进入python,然后倒入requests包,最后使用help来查看包信息。
然后就可以得到如下的信息了
在python形参中有args和kwargs特殊形式,args表示的就是将实参中按照位置传值,多出来的值都给args,且以元祖的方式呈现,**kwargs表示的就是形参中按照关键字传值把多余的传值以字典的方式呈现
网友评论