requests中get和post传参
get请求
get(url, params=None, **kwargs)
requests实现get请求传参的两种方式
方式一:
import requests
url = 'http://www.baidu.com/s?wd=python' # 使用?携带参数
r = requests.get(url)
print(r.url)
执行结果:
http://www.baidu.com/s?wd=python
方式二:
import requests
url = 'http://www.baidu.com/s'
params = {'wd': 'python'} # 也可以将携带的参数传给params
r = requests.get(url, params=params)
print(r.url)
执行结果:
http://www.baidu.com/s?wd=python
推荐使用第一种方式,代码简洁,如果需要参数化url中的参数可以参照如下方式:
import requests
lists = ['python', 'php', 'Java']
for i in lists:
url = 'http://www.baidu.com/s?wd=%s' % (str(i))
r = requests.get(url)
print(r.url)
执行结果:
http://www.baidu.com/s?wd=python
http://www.baidu.com/s?wd=php
http://www.baidu.com/s?wd=Java
post请求
post(url, data=None, json=None, **kwargs)
post请求是我们常说的提交表单,表单的数据内容就是post请求的参数,request实现post请求需设置请求参数data,数据格式可以为字典、元组、列表和json格式,不同数据格式有不同的优势。
示例代码:
import requests
# import json
"""
字典转json方法
data = {'key1': '1', 'key2': '2'}
data = json.dumps(data)
"""
url = 'http://www.baidu.com'
data = 'python'
r = requests.post(url, data=data) # 使用data携带参数
print(r.text)
data是发送请求到网站(服务器)的数据。
注意:requests的get和post方法的请求参数分别是params 和 data,不要混淆两者的使用要求。
获取相应内容
- r.status_code:响应状态码
- r.raw:原始响应体,使用r.raw.read()读取
- r.content:字节方式的响应体,需要进行解码
- r.text:字符串方式的响应体,会自动更具响应头部的字符编码进行解码
- r.headers:以字典对象储存服务器响应头,但是这个字典比较特殊,字典键不区分大小写,若键不存在,则返回None
- r.json():request中内置的json解码器
- r.raise_for_status():请求失败(非200响应),抛出异常
- r.url:获取请求的url
- r.cookies:获取请求后的cookies
- r.encoding:获取编码格式
requests中get和post传参的更多相关文章
- js中使用进行字符串传参
在js中拼接html标签传参时,如果方法参数是字符串需要加上引号,这里需要进行字符转义 <a href='javascript:addMenuUI("+"\"&qu ...
- python中导入一个需要传参的模块
最近跑实验,遇到了一个问题:由于实验数据集比较多,每次跑完一个数据集就需要手动更改文件路径,再将文件传到服务器,再运行实验,这样的话效率很低,必须要专门看着这个实验,啥时候跑完就手动修改运行下一个实验 ...
- vue中组件间的传参
1.父传子 父组件准备一个数据,通过自定义属性给子组件赋值,进行传递 在子组件中通过 props 属性来接收参数 <body> <div id="app"> ...
- 使用python读取配置文件并从mysql数据库中获取数据进行传参(基于Httprunner)
最近在使用httprunner进行接口测试,在传参时,用到了三种方法:(1)从csv文件中获取:(2)在config中声名然后进行引用:(3)从函数中获取.在测试过程中,往往有些参数是需要从数据库中获 ...
- vue-router中query和params传参(接收参数)以及$router、$route的区别
query传参: this.$router.push({ path:'/...' query:{ id:id } }) 接收参数:this.$route.query.id params传值: 传参: ...
- vue中this.$router.push() 传参
1 params 传参 注意⚠️:patams传参 ,路径不能使用path 只能使用name,不然获取不到传的数据 this.$router.push({name: 'dispatch', para ...
- WPF中ContextMenu通过CommandParameter传参
场景:ListBox中有个ContextMenu,希望点击其中一个菜单项的时候把ListBox当做CommandParameter传递给Command,但是发现无论是通过ElementName还是Re ...
- ZZW_shell脚本中的调用MYSQL传参及注意的问题
[oracle@ip9140 db_pcc]$ cat zzw_cc.sh #!/bin/bash z_user='pcc_csuser22'z_pass='pcc_csuser22'z_db='db ...
- JdbcTemplate中向in语句传参
spring jdbc包提供了JdbcTemplate和它的两个兄弟SimpleJdbcTemplate和NamedParameterJdbcTemplate,我们先从JdbcTemplate入手, ...
随机推荐
- Python问题:'Nonetype' object is not iterable
参考链接:http://blog.csdn.net/dataspark/article/details/9953225 [解析] 这个错误提示一般发生在将None赋给多个值时. [案例] 定义了如下的 ...
- 30个极大提高开发效率的vscode插件
参考链接:https://blog.fundebug.com/2018/07/24/vs-extensions/
- SQL操作json类型数据的函数
MySQL5.7之后对json数据格式进行了函数支持 Json_contains(字段名, '值') 1.表中json格式的某个字段 2.json里的某个键值 Json_search(字段名, 'on ...
- python-----短信、电话告警
Twilio 1.访问http://twilio.com/并注册.注册了新账户后,你需要验证一个手机号码,短信将发给该号码. 2.Twilio 提供的试用账户包括一个电话号码,它将作为短信的发送者.你 ...
- python第四天,list补充
当我们创建的列表中,元素的排列顺序常常是无法预测的,因为我们并非总能控制用户提供数据的顺序.这虽然在大多数情况下都是不可避免的,但我们经常需要以特定的顺序从呈现信息.有时候,我们希望保留列表元素最初的 ...
- mysql定时任务用到存储过程和定时任务
需求: 需要将t_app_message中的消息(将要被发送的消息)给每一个学生发送一遍,并且在发送完成后,将消息置为已发送状态已发送状态. 一言不合上代码 /*删除存储过程*/ drop proce ...
- java final、finally、finalize
- vue中如何让多个echarts随屏幕大小变化
在vue项目中使用Echarts 一般window.onsize在页面中只能存在一个. 如何在一个页面中多个echarts使用window.onresize? myChart 可以放在Data ...
- yum install mariadb安装数据库开启不了
centos7内置的MySQL镜像已经放弃Oracle公司的MySQL,改用MySQL的分支数据库mariaDB,使用以下安装mariadb: yum install mariadb 然后使用命令sy ...
- 【转】Git超实用总结,再也不怕记忆力不好了
[转]Git超实用总结,再也不怕记忆力不好了 欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 本文由腾讯工蜂发表于云+社区专栏 Git 是什么? Git 是一个分布式的代码管理容器,本地和 ...