网络编程之 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 ...
随机推荐
- WCF教程 简单入门
版权 本文摘自 http://www.cnblogs.com/iamlilinfeng 本人只做了搬运工 转载请注明出处:http://www.cnblogs.com/iamlilinfeng ...
- 常用的js方法
1. 声明和初始化数组 我们可以使用默认值(如"".null或 )初始化特定大小的数组0.您可能已经将这些用于一维数组,但如何初始化二维数组/矩阵呢? const array = ...
- C# RichTextBox跳转到指定行(文本行跳转和显示行跳转)
文本行跳转: 对禁止自动换行(WordWrap属性为False)有效 1 /// <summary>跳到指定行</summary> 2 private void JumpToL ...
- Docker CLI docker buildx 常用命令
Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux或Windows操作系统的机器上,也可以实现虚拟化.Docker是内核 ...
- 内存模型--共享、JMM
Balking 指令重排
- yarn 更新依赖包
yarn upgrade --latest 其他的以后再记录.
- 【Word】如何批量导出ppt中的备注
[Word]如何批量导出ppt中的备注 文件 | 导出 | 创建讲义 | 备注在幻灯片旁 在word中删除左边两列,复制剩下的表格 | 粘贴-只保留文本
- ATX server简介及环境搭建
简介 atx server 是移动设备管理平台: 搭建这样的一个平台,需要 python3.x + nodejs+rethinkdb,及atxserver2和atxserver2-android-p ...
- yolov5查看训练日志图片和直方图(包括稀疏训练bn直方图)
0.D:\code\codePy\yolov5-6.1\runs\train\exp25文件夹下有 events.out.tfevents.1675823043.DESKTOP-ACC9FL4.521 ...
- Golang-Study
Golang-Study-Note 参考教程视频:狂神说 https://www.bilibili.com/video/BV1ae41157o9?p=1&vd_source=793668372 ...