网络编程之 requests 模块
1. get 请求
1 import requests
2 url = 'http://api.xxxx.cn/api/user/stu_info?stu_name=xiaohei'
3 data = {'stu_name':'小黑'}
4 req = requests.get(url,params=data) #发get请求
5 print(req.json())
6 print(type(req.json())) #返回类型为:字典
7 print(req.text)
8 print(type(req.text)) #返回类型为:字符串的json串
2. post 请求
import requests
url = 'http://api.xxxx.cn/api/user/login'
data = {'username':'joseph','passwd':'aA123456'}
req = requests.post(url,data)
print(req.json())
3. 上传文件
import requests,json
url = 'http://api.xxxx.cn/api/file/file_upload'
#上传txt等格式
# data = {
# 'file':open('baidu.html',encoding='utf-8')
# }
#上传图片格式
data = {
'file':open(r'C:\Users\Administrator\Desktop\joseph.PNG','rb')
} req = requests.post(url,files = data)
# print(req.json()) #返回成字典,
# 如果报错,json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)
#说明返回不成字典,要用req.text
print(req.text)
4. 入参为json类型
import requests,random
phone = random.randint(10000000000,99999999999)
url = 'http://api.xxxx.cn/api/user/add_stu'
data = {
"name":"joseph",
"grade":"天蝎座",
"phone":phone,
"sex":"男",
"age":28,
"addr":"河南省济源市北海大道32号"
}
req = requests.post(url,json=data) #入参是json时,采用json=data
print(req.json())
5. 添加cookie
import requests,random
phone = random.randint(10000000000,99999999999)
url = 'http://api.xxxx.cn/api/user/gold_add'
data = {
"stu_id":468,
"gold":178
} #传入的参数
cookie = {'joseph':'337ca4cc825302b3a8791ac7f9dc4bc6'} #cookie
req = requests.post(url,data,cookies = cookie)
print(req.json())
6. 添加header
import requests
url = 'http://api.xxxx.cn/api/user/all_stu'
header = {
'Referer':'http://api.xxxx.cn/'
}
req = requests.get(url,headers= header)
print(req.json())
7. 下载图片
import requests
url = 'http://imgsrc.baidu.com/imgad/pic/item/9d82d158ccbf6c8154bdd5ccb63eb13533fa4008.jpg'
req = requests.get(url)
# res = req.content #req.content返回的是二进制
# print(res)
fw = open('s.jpg','wb')
fw.write(req.content)
网络编程之 requests 模块的更多相关文章
- python学习笔记(十八)网络编程之requests模块
上篇博客中我们使用python自带的urllib模块去请求一个网站,或者接口,但是urllib模块太麻烦了,传参数的话,都得是bytes类型,返回数据也是bytes类型,还得解码,想直接把返回结果拿出 ...
- python学习笔记(十七)网络编程之urllib模块
如何用python打开一个网站或者请求一个接口呢,我们在这篇博客介绍一下. 首先我们得导入一个urllib模块,这个模块是python自带的标准模块,直接导入就能使用,但是用起来不方便,先看个简单的打 ...
- 网络编程之socket模块
一.TCP协议 TCP是可靠的.面向连接的协议(eg:打电话).传输效率低全双工通信(发送缓存&接收缓存).面向字节流.使用TCP的应用:Web浏览器:电子邮件.文件传输程序. 二.基于TCP ...
- 网络编程之socket
网络编程之socket socket:在网络编程中的一个基本组件,也称套接字. 一个套接字就是socket模块中的socket类的一个实例. 套接字包括两个: 服务器套接字和客户机套接字 套接字的实例 ...
- python3网络编程之socketserver
本节主要是讲解python3网络编程之socketserver,在上一节中我们讲到了socket.由于socket无法支持多用户和多并发,于是就有了socket server. socket serv ...
- 网络编程之socketserver
网络编程之socketserver """ socketserver.py 中的5个基础类 +------------+ | BaseServer | +-------- ...
- 网络编程之socketserver初识
网络编程之socketserver初识 Server #!/usr/bin/env python # @Author : "Wjl" # @Date : 2017/12/22 # ...
- 网络编程之TCP/IP各层详解
网络编程之TCP/IP各层详解 我们将应用层,表示层,会话层并作应用层,从TCP/IP五层协议的角度来阐述每层的由来与功能,搞清楚了每层的主要协议,就理解了整个物联网通信的原理. 首先,用户感知到的只 ...
- Python网络编程之TCP套接字简单用法示例
Python网络编程之TCP套接字简单用法示例 本文实例讲述了Python网络编程之TCP套接字简单用法.分享给大家供大家参考,具体如下: 上学期学的计算机网络,因为之前还未学习python,而jav ...
- [网络编程之Socket套接字介绍,套接字工作流程,基于TCP协议的套接字程序]
[网络编程之Socket套接字介绍,套接字工作流程,基于TCP协议的套接字程序] 为何学习socket套接字一定要先学习互联网协议: 1.首先:要想开发一款自己的C/S架构软件,就必须掌握socket ...
随机推荐
- Blender中服装网格重新拓扑实录
最近了解到游戏行业服装的一些处理流程.简单来说: 用MD等做衣服的软件,将服装做出来: 导出2种模型:缝合好的服装模型(叫它3d)以及没有变形的平铺板片模型(叫它2d),建议导出单层的,都要带着UV, ...
- Windows 分辨率改变引起WPF的适应问题
系统分辨率变化,全屏WPF的UI出现没更新和白底之类的现象记录. 您可以使用SystemParameters.WorkArea.最初设置MainWindow的MaxHeight. 在MainWindo ...
- python3.7安装Anaconda3+tensorflow2.1中遇到的问题
最近想搞深度学习,就开始装tensorflow,其中也是遇到了一些问题,希望给遇到同类问题的童鞋一些提示.... 因为之前一直用的python3.7,虽然网上很多建议装python3.5版本tenso ...
- Docker CLI docker buildx build 常用命令
Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux或Windows操作系统的机器上,也可以实现虚拟化.Docker是内核 ...
- 推荐优秀国产蓝牙芯片-HS6621CxC系列
HS6621CxC是一个优化功耗真正芯片系统(SOC)解决方案,适用于蓝牙低功耗和私有的2.4GHz应用场景.它集成了一个高性能.小功率的射频收发器,具有蓝牙基带和丰富的外围IO扩展. HS6621C ...
- 【服务器数据恢复】raid5硬盘同步数据未完成时关机的数据恢复案例
服务器数据恢复环境:某公司一台服务器组建了一组raid5磁盘阵列,作为共享存储池使用.该服务器存储数据库文件和普通文件. 服务器故障&检测:RAID5磁盘阵列的硬盘掉线导致服务器操作系统识别不 ...
- c++游戏编程(1)开发环境与工具函数
c++游戏编程(1)开发环境与工具函数 文章目录 c++游戏编程(1)开发环境与工具函数 前言 1.开发工具 2.工具函数 2.1 windows.h 2.1.1 _mkdir() 2.1.2 _rm ...
- 《ImageNet Classification with Deep Convolutional Neural Networks (AlexNet)2012》
Abstract 作者训练了一个大型的深度卷积神经网络,用于在 ImageNet LSVRC-2010 比赛中对120万张高分辨率图像分为1000个不同的类别.在测试数据上,作者们达到了 top-1 ...
- kali 子域名搜集工具学习记录
# fierce 主要是对子域名进行扫描和收集信息,并且它还可以测试区域传送漏洞. kali 2022.1 apt-get 安装的fierce并没有 -dns参数,需要手动下载,下载后有个fierce ...
- 生产环境自动备份win服务器所有web项目(IIS+项目代码)
@echo offrem 功能:每月自动备份本服务器所有web项目rem 日期:2022.3.10rem 制作人:zl rem 定义变量Y为备份时间:YYYYMMset y=%date:~0,4%%d ...