在WINDOWS上可以通过命令行窗口(运行cmd命令), 利用pip进行自动地安装--------pip install requests

1.向网站发送请求:requests.get(url)

2.向URL传递参数:requests.get(url, param=None)

3.返回的响应正文类型选择:

返回的响应正文不论什么类型,都可以用text获取;str格式
返回的响应正文如果是字典格式,json格式的,用json()函数获取;dict格式:如果要取值,建议用这个
---ValueError:Expecting value:line 1 column i(char 0),如果出现这个错误,就是说明不能用json()函数获取

import requests
#登录 地址和数据
login='http://47.107.168.87:8080/futureloan/mvc/api/member/login'
login_data={'mobilephone':18688773467,'pwd':''} #发起一个get类型的请求,带参数(参数一般放到字典里),返回一个响应实体response
login_res=requests.get(login,login_data)
print(login_res)
#<Response [200]> #response 里面包含:响应头headers,响应正文text,状态码status_code
print('登录的响应头是:',login_res.headers)
print('登录的响应正文是:',login_res.text)
print('登录的状态码是:',login_res.status_code)
# 登录的响应头是: {'Server': 'Apache-Coyote/1.1', 'Set-Cookie': 'JSESSIONID=0B1C2F1E355904110187B14ABA44DC60; Path=/futureloan, rememberMe=deleteMe; Path=/futureloan; Max-Age=0; Expires=Thu, 06-Dec-2018 02:01:18 GMT', 'Content-Type': 'application/json;charset=UTF-8', 'Transfer-Encoding': 'chunked', 'Date': 'Fri, 07 Dec 2018 02:01:18 GMT'}
# 登录的响应正文是: {"status":1,"code":"10001","data":null,"msg":"登录成功"}
# 登录的状态码是: 200 #request 里面包含:URL,请求方式,请求正文,请求头
#URL,请求方式,请求正文,这三个我们提前都是知道的
print('登录的请求头是:',login_res.request.headers)
#登录的请求头是: {'User-Agent': 'python-requests/2.20.1', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive'} #cookies 登录成功之后才有
print('登录的cookies是:',login_res.cookies)
print(login_res.cookies['JSESSIONID'])#cookies在取值时类似字典,用key
# 登录的cookies是: <RequestsCookieJar[<Cookie JSESSIONID=0B1C2F1E355904110187B14ABA44DC60 for 47.107.168.87/futureloan>]>
# 0B1C2F1E355904110187B14ABA44DC60 #充值 地址和数据
recharge='http://47.107.168.87:8080/futureloan/mvc/api/member/recharge'
recharge_data={'mobilephone':18688773467,'amount':''} recharge_res=requests.post(recharge,recharge_data)
print('充值失败的响应正文是:',recharge_res.json())
#充值的响应正文是: {'status': 0, 'code': None, 'data': None, 'msg': '抱歉,请先登录。'} #什么时候用cookies?如果这个请求需要在用户登录成功之后才能操作的就需要带上cookies
#带上cookies之后充值才能成功
recharge_res=requests.post(recharge,recharge_data,cookies=login_res.cookies)
print('充值成功的响应正文是:',recharge_res.json())
# 充值成功的响应正文是: {'status': 1, 'code': '10001', 'data': {'id': 24537, 'regname': 'test huahua', 'pwd': 'E10ADC3949BA59ABBE56E057F20F883E', 'mobilephone': '18688773467',
# 'leaveamount': '5855596243.55', 'type': '1', 'regtime': '2018-08-13 16:17:16.0'}, 'msg': '充值成功'} #返回的响应正文类型选择:
#返回的响应正文不论什么类型,都可以用text获取;str格式
#返回的响应正文如果是字典格式,json格式的,用json()函数获取;dict格式:如果要取值,建议用这个
#ValueError:Expecting value:line 1 column i(char 0),如果出现这个错误,就是说明不能用json()函数获取


python-requests模块的讲解和应用的更多相关文章

  1. 使用python requests模块搭建http load压测环境

    网上开源的压力测试工具超级的多,但是总有一些功能不是很符合自己预期的,于是自己动手搭建了一个简单的http load的压测环境 1.首先从最简单的http环境着手,当你在浏览器上输入了http://w ...

  2. Python requests模块学习笔记

    目录 Requests模块说明 Requests模块安装 Requests模块简单入门 Requests示例 参考文档   1.Requests模块说明 Requests 是使用 Apache2 Li ...

  3. Python—requests模块详解

    1.模块说明 requests是使用Apache2 licensed 许可证的HTTP库. 用python编写. 比urllib2模块更简洁. Request支持HTTP连接保持和连接池,支持使用co ...

  4. Windows下安装Python requests模块

    在使用自己写的或者别人的python小工具时可能会出现类似ImportError: No module named Requests的问题: D:\tool\python\fuzz>Fuzz.p ...

  5. 使用monkey技术修改python requests模块

    例如请求前和请求后各来一条日志,这样就不需要在自己的每个代码都去加日志了. 其实也可以直接记录'urllib3.connectionpool'  logger name的日志. 修改了requests ...

  6. Python requests模块params、data、json的区别

    json和dict对比 json的key只能是字符串,python的dict可以是任何可hash对象(hashtable type): json的key可以是有序.重复的:dict的key不可以重复. ...

  7. Python requests模块

    import requests 下面就可以使用神奇的requests模块了! 1.向网页发送数据 >>> payload = {'key1': 'value1', 'key2': [ ...

  8. python requests模块的两个方法content和text

    requests模块下有两个获取内容的方法,很奇怪,都是获取请求后内容的方法,有什么区别呢?? 一.区别 content:返回bytes类型的数据也就是二进制数据 text:返回的就是纯文本(Unic ...

  9. python requests模块session的使用建议及整个会话中的所有cookie的方法

    话不多说,直接上代码 测试代码 服务端 下面是用flask做的一个服务端,用来设置cookie以及打印请求时的请求头 # -*- coding: utf-8 -*- from flask import ...

  10. Python Requests模块讲解4

    高级用法 会话对象 请求与响应对象 Prepared Requests SSL证书验证 响应体内容工作流 保持活动状态(持久连接) 流式上传 块编码请求 POST Multiple Multipart ...

随机推荐

  1. Pyhanlp自然语言处理中的新词识别

    新词发现 本“新词发现”模块基于信息熵和互信息两种算法,可以在无语料的情况下提取一段长文本中的词语,并支持过滤掉系统中已存在的“旧词”,得到新词列表. 调用方法 静态方法 一句话静态调用接口已经封装到 ...

  2. Kafka研究【一】:bring up环境

    kafka是干什么的,有和特性,我这里就不多说,详情自己研究官方文档. 0. 背景介绍 我需要在三台机器上分别部署kafka broker的实例,构建成一个集群.kafka的broker集群,是基于z ...

  3. JavaScript学习总结(三、函数声明和表达式、this、闭包和引用、arguments对象、函数间传递参数)

    一.函数声明和表达式 函数声明: function test() {}; test();    //运行正常 function test() {}; 函数表达式: var test = functio ...

  4. 关于opcdaauto.dll的注册

    关于opcdaauto.dll的注册 无论win7_32还是win7_64位都执行一样的CMD命令,即regsvr32 opcdaauto.dll . 如果从网上下载的opcdaauto.dll 文件 ...

  5. java线程实现的四种方式

    java多线程的实现可以通过以下四种方式 1.继承Thread类,重写run方法 2.实现Runnable接口,重写run方法 3.通过Callable和FutureTask创建线程 4.通过线程池创 ...

  6. Python单元测试框架之pytest 4 -- 断言

    From: https://www.cnblogs.com/fnng/p/4774676.html Python单元测试框架之pytest -- 断言 2015-08-31 23:57 by 虫师, ...

  7. 【java】之Method和Field反射获取和设置属性值

    package com.javaluna.reflect; import java.lang.reflect.Field; import java.lang.reflect.Method; impor ...

  8. Java HashMap的死循环 以及 LRUCache的正确实现

    今天RP爆发,16核服务器load飙到30多,cpu使用情况全部99%以上. 从jstack中分析发现全部线程都堵在map.transfer处,如下: "pool-10-thread-23& ...

  9. springboot springcloud 热部署

    本文转载自:https://www.cnblogs.com/moly/p/7978303.html 可以在配置修改某些文件重启,建议配置一个控制文件,只有此文件修改才会重启. 1. pom中添加: & ...

  10. HTML和SEO基础知识:H标签全透视

    原文地址:http://www.chinaz.com/web/2010/0921/134391.shtml 什么是H标签? h1,h2,h3,h4,h5,h6,作为标题标签,并且依据重要性递减.我认为 ...