requests -- http请求库(基础)

使用第三方库:requests

下载:pip install requests

发送 get 请求,无参数。(三种响应方式、text、二进制、json)

import requests

# requests 第三方库
#   安装: pip install requests todo 文件名称千万不要和 requests 同名
url = ‘http://127.0.0.1:5000/‘
res = requests.get(url)  # 没有参数就不用传递参数
print(‘打印出来的一个对象:\n‘, res)  # 打印出来的一个对象
# 获取状态码
print(‘状态码:\n‘, res.status_code)
# 返回的数据 文本,用处:接受普通文本或者HTML
print(‘返回的数据 文本:\n‘, res.text)
# 接受响应数据,用处:二进制(图片或者视频等等) b开头
print(‘返回二进制 b开头:\n‘, res.content)
# 接受响应数据, decode() 二进制转换成字符串
print(‘二进制转换成字符串:\n‘, res.content.decode())
# 接受响应数据,js格式 如果服务器返回的不是 json 格式的会报错
# 用处:当服务器返回的标准json格式的,接口主要用 json 格式
print(‘js格式:\n‘, res.json())

发送get请求,有参数,useragent 显示的是python发送的请求

url = ‘http://127.0.0.1:5000/‘
data = {‘username‘: ‘PyCharm‘, ‘pwd‘: ‘123456‘}
res = requests.get(url, params=data)
print(res.text)

发送get请求,有参数,带请求头,代理改为Google  (get 只有一种传递方式,没有请求头)

url = ‘http://127.0.0.1:5000/‘
data = {‘username‘: ‘PyCharm‘, ‘pwd‘: ‘123456‘}
# 带请求头
headers = {‘User-Agent‘: ‘Google‘}
res = requests.get(url, params=data, headers=headers)
print(res.text)

发送 post请求,data,form 表单形式。根据需求选择传递参数

import requests
# data
url = ‘http://127.0.0.1:5000/‘
data = {‘username‘: ‘PyCharm‘, ‘pwd‘: ‘123456‘}
# 传递参数的三种方式:params,data,json
res = requests.post(url, params=data, data=data)
res1 = requests.post(url, params=data, json=data)
print(res.text)

获取cookies,获取需要首先登陆后获取 (通过tes.cookies获取所有的cookie)(post传递参数的三种方式,params、data、json,根据接口文档来传递)

# data
url = ‘http://127.0.0.1:5000/login‘
data = {‘username‘: ‘PyCharm‘, ‘pwd‘: ‘123456‘}
# 传递参数的三种方式:params,data,json
res = requests.post(url, params=data, data=data)
# res1 = requests.post(url, params=data, json=data)
print(res.text)
# 获取所有的cookies,cookies 是一个对象,里面有很多的cookie
cookies = res.cookies
url1 = ‘http://127.0.0.1:5000‘
res1 = requests.post(url1, cookies=cookies)
print(res1.text)

使用  Session 管理 cookie  作用是动态管理cookie,集中管理所有的资源,不需要我们手动进行设置

url = ‘http://127.0.0.1:5000/‘
url_login = ‘http://127.0.0.1:5000/login‘

# 创建会话对象, 可以理解成一个浏览器
session = requests.Session()
# 会话访问 使用 Session 管理 cookie
res = session.get(url_login)  # 相当于先登录 后获取

res1 = session.get(url)
print(res1.text)

ps 使用requests请求的简化版接口

from flask import Flask, redirect, jsonify, make_response, Response, request

app = Flask(__name__)

@app.route(‘/‘, methods=[‘GET‘, ‘POST‘])
def index():
    if not request.cookies.get(‘user‘):
        # 验证,session
        return jsonify({"mag": "login"})
    return jsonify({"msg": " hello word"})

# 接口是一个函数,类。
# 不是所有函数都是接口,

@app.route(‘/login‘, methods=[‘GET‘, ‘POST‘])
def login():
    resp = Response(‘login success‘)
    resp.set_cookie(‘user‘, ‘user‘)
    # 保存到服务端。
    return resp

app.run(debug=True)

原文地址:https://www.cnblogs.com/yongzhuang/p/12198793.html

时间: 2024-08-26 08:44:11

requests -- http请求库(基础)的相关文章

小白学 Python 爬虫(32):异步请求库 AIOHTTP 基础入门

人生苦短,我用 Python 前文传送门: 小白学 Python 爬虫(1):开篇 小白学 Python 爬虫(2):前置准备(一)基本类库的安装 小白学 Python 爬虫(3):前置准备(二)Linux基础入门 小白学 Python 爬虫(4):前置准备(三)Docker基础入门 小白学 Python 爬虫(5):前置准备(四)数据库基础 小白学 Python 爬虫(6):前置准备(五)爬虫框架的安装 小白学 Python 爬虫(7):HTTP 基础 小白学 Python 爬虫(8):网页基

请求库之requests模块

一 介绍 #介绍:使用requests可以模拟浏览器的请求,比起之前用到的urllib,requests模块的api更加便捷(本质就是封装了urllib3) #注意:requests库发送请求将网页内容下载下来以后,并不会执行js代码,这需要我们自己分析目标站点然后发起新的request请求 #安装:pip3 install requests #各种请求方式:常用的就是requests.get()和requests.post() >>> import requests >>&

请求库之requests

一 介绍 #介绍:使用requests可以模拟浏览器的请求,比起之前用到的urllib,requests模块的api更加便捷(本质就是封装了urllib3) #注意:requests库发送请求将网页内容下载下来以后,并不会执行js代码,这需要我们自己分析目标站点然后发起新的request请求 #安装:pip3 install requests #各种请求方式:常用的就是requests.get()和requests.post() >>> import requests >>&

爬虫请求库——requests

请求库,即可以模仿浏览器对网站发起请求的模块(库). requests模块 使用requests可以模拟浏览器的请求,requests模块的本质是封装了urllib3模块的功能,比起之前用到的urllib,requests模块的api更加便捷 requests库发送请求将网页内容下载下来以后,并不会执行js代码,这需要我们自己分析目标站点然后发起新的request请求,但是selenium模块就可以执行js的操作. 安装: pip3 install requests 请求方式:主要用到的就get

请求库之requests,selenium

requests模块 一.介绍 #介绍:使用requests可以模拟浏览器的请求,比起之前用到的urllib,requests模块的api更加便捷(本质就是封装了urllib3) #注意:requests库发送请求将网页内容下载下来以后,并不会执行js代码,这需要我们自己分析目标站点然后发起新的request请求 #安装:pip3 install requests #各种请求方式:常用的就是requests.get()和requests.post() >>> import request

请求库之requests库

目录 介绍 基于GET请求 1.基本请求 2.带参数的GET请求->params 带参数的GET请求->headers 带参数的GET请求->cookie 基于POST请求 1.介绍 2.发送post请求,模拟浏览器的登录行为 requests.session()自动帮我们保存cookie信息 补充 响应response respone属性 获取二进制数据 爬取大文件 解析json数据 SSL Cert Verification 使用代理 超时设置 异常处理 上传文件 介绍 #介绍:使用

python中requests请求库

使用方法:1.安装 2.请求:两种请求方式(post,get),3种参数方法 # get请求,params传参,传字典格式的数据 requests.get 1 import requests 2 3 4 5 # 构造请求url,字典格式 6 url = url 7 # 如果需要添加请求头信息,大多数情况不用修改 8 headers = { "User-Agent": "Mozilla/5.0"} 11 # 向服务器发起请求 12 # 只要是给params传参,是以查

python请求库

urllib库 python原生基本库 requests库 安装 pip install requests 它是在urllib3基础上更加强大的请求库 实例引入 import requests response = requests.get("https://www.baidu.com") print(response.status_code) print(response.text) print(response.content) print(response.cookies) pr

造轮子 | 怎样设计一个面向协议的 iOS 网络请求库

近期开源了一个面向协议设计的网络请求库 MBNetwork,基于 Alamofire 和 ObjectMapper 实现,目的是简化业务层的网络请求操作. 须要干些啥 对于大部分 App 而言,业务层做一次网络请求通常关心的问题有例如以下几个: 怎样在任何位置发起网络请求. 表单创建. 包括请求地址.请求方式(GET/POST/--).请求头等-- 载入遮罩. 目的是堵塞 UI 交互,同一时候告知用户操作正在进行. 比方提交表单时在提交按钮上显示 "菊花",同一时候使其失效. 载入进度