urllib模块去请求的确比较麻烦,需要不断的encode和decode;而requests模块就比较方便了,它是基于requests模块开发的第三方模块,安装简单只需要  pip install requests即可。

import requests

url= 'http://127.0.0.1:8080/login'

data = {"username":"cws1235","pwd":123456}

#######get请求

req = requests.get(url,data).json()    返回的是json字典类型,接口返回必须是json才可以

req= requests.get(url,data).text    返回的是字符串

def post_jsonpppp(self): #处理post返回json的请求

还可以拼接请求:

req = requests.get(url+'username=cws12356&pwd=123456')

########post请求

req = requests.post(url,data)

#如果入参是json

data2 = {
 "username":'jmy1235',
 "real_name":"处长",
 "class":"巨蟹座",
 "phone":"19312345673",
}

requests.post(url,json=data2).text    #发送请求报文是json

##那如果是url里有参数,body里面还有json请求

eg.1

http://127.0.0.1:8080/login?username=niuhanyang&pwd=123456    然后body里还有json

方法有两种:1、拼接  2、在传入一个参数

req=requests.post(url,data2,json=data2)

req=requests.get(url+''?''+"username=hubing&pwd=123456",data2)

####带cookie的

url = "http://127.0.0.1:8000/add_stu2"

data = {"userid":1}

cookie = {"token":"token12345"}

res = requests.post(url,data,cookies=cookie,json=data2).json()#使用cookies参数执行cookie

####添加验证权限的

url="http://127.0.0.1:8000/add_stu2"

data ={'userid':1,"money":9999}

res =requests.post(url,data,auth=('admin','123456')).json()

####带header的

hearder={"tavnxiaofei":"7wei"}

url = "http://127.0.0.1:8000/add_stu2"

res = requests.post(url,json=data2,cookies=cookie,headers=header) .json() #用headers参数,header里面不能有中文

####发送文件

url = "http://127.0.0.1:8000/add_stu2"

res = requests.post(url,files={'file':open('api11.py')}).json()
 
处理接口中有session校验:
s = requests.session()
req_param = '{"belongId": "312","userName": "testss003","password":"pxkj88","captcha":"pxpx","captchaKey":"59675w1v8kdbpxv"}'
res = s.post('http://test.e.fanxiaojian.cn/metis-login-web/auth/login', json=json.loads(req_param))
print(res.json())
print(res.cookies.values())
总结:
1、用.json()是不是不管get和post请求都可以用但是必须返回是的json形式才可以requests.post/get().json()这样
2、

text的不管返回是不是json都可以

 

python-网络编程requests模块的更多相关文章

  1. python网络编程----requests模块

    python访问网站可以用标准模块--urllib模块(这里省略),和requests(安装-pip install requests)模块,requests模块是在urllib的基础上进行的封装,比 ...

  2. python 网络爬虫requests模块

    一.requests模块 requests模块是python中原生的基于网络请求的模块,其主要作用是用来模拟浏览器发起请求.功能强大,用法简洁高效. 1.1 模块介绍及请求过程 requests模块模 ...

  3. Python网络爬虫-requests模块

    requests模块 requests模块是python中原生的基于网络请求的模块,其主要作用是用来模拟浏览器发起请求.功能强大,用法简洁高效.在爬虫领域中占据着半壁江山的地位. 如何使用reques ...

  4. python网络编程socketserver模块(实现TCP客户端/服务器)

    摘录python核心编程 socketserver(python3.x版本重新命名)是标准库中的网络编程的高级模块.通过将创建网络客户端和服务器所必须的代码封装起来,简化了模板,为你提供了各种各样的类 ...

  5. Python网络爬虫-requests模块(II)

    有些时候,我们在使用爬虫程序去爬取一些用户相关信息的数据(爬取张三“人人网”个人主页数据)时,如果使用之前requests模块常规操作时,往往达不到我们想要的目的,例如: #!/usr/bin/env ...

  6. python 网络编程--socket模块/struct模块

    socket模块: 客户端:CS架构,  client -> server 浏览器:BS架构,  browser -> server 网络通信本质:传输字节 doc命令查看ip地址:ipc ...

  7. python网络编程-paramiko模块

    paramiko模块 该模块基于SSH用于连接远程服务器并执行相关操作 参考文档 SSHClient 用于连接远程服务器并执行命令 import paramiko #创建SSH对象 ssh = par ...

  8. python网络编程-socketserver模块

    使用socketserver 老规矩,先引入import socketserver 必须创建一个类,且继承socketserver.BaseRequestHandler 这个类中必须重写handle( ...

  9. 孤荷凌寒自学python第六十七天初步了解Python爬虫初识requests模块

    孤荷凌寒自学python第六十七天初步了解Python爬虫初识requests模块 (完整学习过程屏幕记录视频地址在文末) 从今天起开始正式学习Python的爬虫. 今天已经初步了解了两个主要的模块: ...

  10. Python 网络编程(二)

    Python 网络编程 上一篇博客介绍了socket的基本概念以及实现了简单的TCP和UDP的客户端.服务器程序,本篇博客主要对socket编程进行更深入的讲解 一.简化版ssh实现 这是一个极其简单 ...

随机推荐

  1. vue表单校验(三)

    vue表单校验(三) 每当看到heyui的这个表单校验,我就一直想将element的校验也做类似的功能,终于有了方式,虽然不是很完美,但是可以使用,能满足要求了 实现方式 基于element-ui实现 ...

  2. UIAlertView, UIAlertViewController

    iOS 8的新特性之一就是让接口更有适应性.更灵活,因此许多视图控制器的实现方式发生了巨大的变化.全新的UIPresentationController 在实现视图控制器间的过渡动画效果和自适应设备尺 ...

  3. editplus的使用技巧

    数据库sql语句中的 in 后面需要 ('xx','bb')这样的结果,多的话修改起来就比较麻烦,这时候使用editplus 的替换功能就可以实现 ,顶部菜单的 搜索 - > 替换 或者 ctr ...

  4. Java设计模式之——代理设计模式

    1.什么是代理设计模式 所谓代理模式是指客户端并不直接调用实际的对象,而是通过调用代理,来间接的调用实际的对象. 这里举一个栗子:就拿我们平时租房子来举例子,好比租客和房主之间的关系,我们租房子往往不 ...

  5. 微信授权获取code/openid

    微信网页授权 如果用户在微信客户端中访问第三方网页,公众号可以通过微信网页授权机制,来获取用户基本信息,进而实现业务逻辑. 关于网页授权回调域名的说明 1.在微信公众号请求用户网页授权之前,开发者需要 ...

  6. 035-OpenStack 关闭安全组

    OpenStack Neutron的安全组默认会对每个网口开启MAC/IP过滤功能(防arp欺骗),不是该网口的MAC/IP发出的包会被宿主机丢弃.这种限制会导致vNF的上行网口转发的数据包被丢弃,无 ...

  7. PAT Advanced 1042 Shuffling Machine (20 分)(知识点:利用sstream进行转换int和string)

    Shuffling is a procedure used to randomize a deck of playing cards. Because standard shuffling techn ...

  8. IDEA更改左侧目录层级结构

    齿轮---Compact Empty Middle Packages

  9. 安装了sql-alchemy但导入sql_alchemy时失败

    问题描述:按成flask-sqlalchemy成功了,但是项目导入flask_alchemy时出错 但是,发现在代码中还是导入不了 之后发现问题,到file->setting->proje ...

  10. git的fetch

    1.git fetch 会从远程分支上下载 2.git pull 会将本地库更新至远程库最新状态