首页 > 编程语言 >python接口自动化系列 - requests库的基础使用01

python接口自动化系列 - requests库的基础使用01

时间:2023-01-04 21:37:03浏览次数:47  
标签:cookies 01 headers python args url requests data

一、安装

利用 pip 安装:$ pip install requests 

requests 方法

描述
delete(urlargs) 发送 DELETE 请求到指定 url
get(urlparams, args) 发送 GET 请求到指定 url
head(urlargs) 发送 HEAD 请求到指定 url
patch(urldata, args) 发送 PATCH 请求到指定 url
post(urldata, json, args) 发送 POST 请求到指定 url
put(urldata, args) 发送 PUT 请求到指定 url
request(methodurlargs) 向指定的 url 发送指定的请求方法

二、GET请求

使用 requests.request() 发送 get 请求:

# 导入 requests 包
import requests

 
kw = {'s':'python 教程'}

# 设置请求头
headers = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.99 Safari/537.36"}
 
# params 接收一个字典或者字符串的查询参数,字典类型自动转换为url编码,不需要urlencode()
response = requests.get("https://www.runoob.com/", params = kw, headers = headers)

# 查看响应状态码
print (response.status_code)

# 查看响应头部字符编码
print (response.encoding)

# 查看完整url地址
print (response.url)

# 查看响应内容,response.text 返回的是Unicode格式的数据
print(response.text)

返回结果:

200
UTF-8
https://www.runoob.com/?s=python+%E6%95%99%E7%A8%8B

... 其他内容...

三、POST请求

post() 方法可以发送 POST 请求到指定 url,一般格式如下:

requests.post(url, data={key: value}, json={key: value}, args)
  • url 请求 url。

  • data 参数为要发送到指定 url 的字典、元组列表、字节或文件对象。

  • json 参数为要发送到指定 url 的 JSON 对象。

  • args 为其他参数,比如 cookies、headers、verify等。

示例:

import json
import requests

url = 'http://httpbin.org/post'
payload = {'some': 'data'}
r = requests.post(url, data=json.dumps(payload))
print(r.json())

返回结果:

{'args': {}, 'data': '{"some": "data"}', 'files': {}, 'form': {}, 'headers': {'Accept': '*/*', 'Accept-Encoding': 'gzip, deflate', 'Content-Length': '16', 'Host': 'httpbin.org', 'User-Agent': 'python-requests/2.24.0', 'X-Amzn-Trace-Id': 'Root=1-63b3d897-1820a44923eb0e5753e03dae'}, 'json': {'some': 'data'}, 'origin': '202.60.224.33', 'url': 'http://httpbin.org/post'}

四、自定义headers和cookies

"""自定义headers"""
import requests
url = 'https://api.github.com/some/endpoint'
headers = {'user-agent': 'my-app/0.0.1'}

r = requests.get(url, headers=headers)
print(r.json())

"""自定义cookies"""
url = 'http://httpbin.org/cookies'
cookies = dict(cookies_are='working')
cookies2 = {'cookies_are': 'working'}

r = requests.get(url, cookies=cookies)
print(r.json())

返回结果:

{'message': 'Not Found', 'documentation_url': 'https://docs.github.com/rest'}
{'cookies': {'cookies_are': 'working'}}

五、SSL证书验证

 当发送请求如果报以上错误时,可以在请求方法里加多一个字段 verify=False ,就可以解决此问题;此操作是为了免去验证步骤

import requests
requests.packages.urllib3.disable_warnings()
url = 'https://www.imooc.com'
res = requests.get(url, verify=False)
print(res.text)

返回结果:

 

 

 

  

  

 

标签:cookies,01,headers,python,args,url,requests,data
From: https://www.cnblogs.com/xfbk/p/17022446.html

相关文章

  • python爬取电影
    我们现在很多视频网站的电影都是由很多ts文件片段组成的,要想下载电影,就需要把这些ts文件片段全部下载下来,然后合成一部完整的电影这个程序配置好以下三个地方就可以下......
  • C语言银行业务模拟系统[2023-01-04]
    C语言银行业务模拟系统[2023-01-04]银行业务模拟系统系统要求使用C语言实现一个银行业务模拟程序,实现存取款等基本业务的模拟。选题者需要首先进行需求调研,了解银行的主......
  • Python开发一个csv比较功能相关知识点汇总及demo
    Python2.7csv.reader(csvfile, dialect='excel', **fmtparams)的一个坑:csvfile被csv.reader生成的iterator,在遍历每二次时,内容为空iteratorAnobjectrepresentingastr......
  • SICP:符号求导、集合表示和Huffman树(Python实现)
    绪论到目前为止,我们已经使用过的所有复合数据,最终都是从数值出发构造起来的(比如我们在上一篇博客《SICP2.2:层次性数据和闭包性质(Python实现)》所介绍的链表和树就基于......
  • C/C++数学口算比赛系统[2023-01-04]
    C/C++数学口算比赛系统[2023-01-04]题目三数学口算比赛系统设计要求:适用于小学生数学口算比赛的系统。比赛题型分为两种:“四则简单运算”和“四则混合运算”,计算机......
  • C/C++图书管理系统[2023-01-04]
    C/C++图书管理系统[2023-01-04]17、图书管理系统主要包括管理图书的库存信息、每一本书的借阅信息以及每一个人的借书信息。每一种图书的库存信息包括编号、书名、作者、......
  • re模块01-正则表达式
    在python中,内置re模块,通过re模块,来操作正则表达式什么是正则表达式?一套规则,匹配字符串的一些网站中有正则表达式模块,可以参考,通过百度搜索就行字符组字符组:描述的是一......
  • 2018年笔记,突然看到2018年以前的一些笔记
    看到以前一些笔记,以前怕别人看到的笔记,居然写太认真就删了,苦了此心血,现在越工作了笔记反尔随心,现在自己的笔记除了自己能看懂,别人看到肯会乱自己要反省自己,  纯属回忆......
  • C语言学生成绩管理系统[2023-01-04]
    C语言学生成绩管理系统[2023-01-04]设计题目:《学生成绩管理系统》设计目的利用所学的三种程序基本结构以及数组、用户自定义函数进行一个简单管理系统的设计,进一步理......
  • python模块(module)
    目录模块化(module)程序设计理念模块和包概念的进化史标准库模块(standardlibrary)为什么需要模块化编程模块化编程的流模块的API和功能描述要点模块的创建和测试代码模......