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)
 
 
 

最新文章

  1. Python-基础数据类型
  2. shell (check return of each line)and sudoer
  3. getRemoteAddr()和getRemoteHost() 区别
  4. MVC3中如何输出富文本
  5. javascript memoization递归优化
  6. Keep Alive
  7. UVALIVE 4970 最小权匹配
  8. Struts2 中拦截器和Action的调用关系(写的很好)
  9. new Date参数问题
  10. Android调用系统关机与重启功能
  11. zencart产品详细页面调用数据库显示tags标签
  12. [SinGuLaRiTy] 最短路计算代码库
  13. 初学VUE2.0
  14. Kettle6.0表输入连接数据库
  15. [SCOI 2010]字符串
  16. Ubuntu18下sudo apt install xxx出现问题
  17. delphi中退出是弹出让你确定的几种确定对话框怎么写?
  18. L1-058 6翻了
  19. Mac配置Node.js环境
  20. Linux ls命令

热门文章

  1. idea 使用JRebel 报1099错误
  2. SSB调制与解调(Simulink&Matlab)
  3. BlendCAC: A Smart Contract Enabled Decentralized Capability-Based Access Control Mechanism for the IoT
  4. 关于.bashrc文件
  5. oracle数据库安装出现的问题
  6. Science Word丨快速创建各种数学、物理、化学图形,让老师的工作更轻松!
  7. 超强大的PS汉化插件Specs 一键尺寸标注
  8. 1168 Prime Day(20)
  9. js之new的原理和源码
  10. 【文献阅读】Automatic berthing for an underactuated unmanned surface vehicle: A real-time motion planning approach