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入手, ...
随机推荐
- [kuangbin带你飞]专题一 简单搜索(回顾)
A - 棋盘问题 POJ - 1321 注意条件:不能每放一个棋子,就标记一行和一列,我们直接枚举每一行就可以了. AC代码: #include<iostream> #include< ...
- ASP.NET MVC - 处理Html数据
HtmlAgilityPack 使用HtmlAgilityPack可以以面向对象的方式通过查找Html节点来获取页面元素.参考:http://html-agility-pack.net HtmlDoc ...
- shell 在手分析服务器日志【转】
自己的小网站跑在阿里云的 ECS 上面, 偶尔也去分析分析自己网站服务器日志,看看网站的访问量.看看有没有黑阔搞破坏!于是收集,整理一些服务器日志分析命令,大家可以试试! awk '{print $1 ...
- macbook 安装win7
长按option进入启动选择页面,选择winpe后进入安装,与普通电脑没有区别.安装后需要安装苹果专用驱动程序Boot Camp,才可以正常使用触控板等驱动
- button 去掉原生边框
button按钮触发 hover 时,自带边框会显示,尤其是 button 设置圆角时,如图: 解决办法: outline: 0;
- C#winform 窗体缩放自适应
1. 首先在窗体上放上一个Panel容器,并将容器的Dock属性设为Fill,即所有的控件都放在了这个容器里. using System; using System.Collections.Gene ...
- maven本地上传jar包
maven本地上传jar包 在命令行中输入下面指令(是一行): mvn install:install-file -Dfile=D:\mvn\spring-context-support-3.1.0. ...
- mariadb:SQL日常使用总结
1.关联删除 DELETE T_Base_Resource_Action FROM T_Base_Resource_Action INNER JOIN T_Base_Resource ON T_Ba ...
- [PHP]flock文件IO锁的使用
一.flock概述 bool flock ( resource $handle , int $operation [, int &$wouldblock ] ) 参数 handle 文 ...
- __dict__(字典的另一种用法)
class Foo(): def __init__(self): self.name=None self.age=19 self.addr='上海' @property def dict(self): ...