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传参的更多相关文章

  1. js中使用进行字符串传参

    在js中拼接html标签传参时,如果方法参数是字符串需要加上引号,这里需要进行字符转义 <a href='javascript:addMenuUI("+"\"&qu ...

  2. python中导入一个需要传参的模块

    最近跑实验,遇到了一个问题:由于实验数据集比较多,每次跑完一个数据集就需要手动更改文件路径,再将文件传到服务器,再运行实验,这样的话效率很低,必须要专门看着这个实验,啥时候跑完就手动修改运行下一个实验 ...

  3. vue中组件间的传参

    1.父传子 父组件准备一个数据,通过自定义属性给子组件赋值,进行传递 在子组件中通过 props 属性来接收参数 <body> <div id="app"> ...

  4. 使用python读取配置文件并从mysql数据库中获取数据进行传参(基于Httprunner)

    最近在使用httprunner进行接口测试,在传参时,用到了三种方法:(1)从csv文件中获取:(2)在config中声名然后进行引用:(3)从函数中获取.在测试过程中,往往有些参数是需要从数据库中获 ...

  5. vue-router中query和params传参(接收参数)以及$router、$route的区别

    query传参: this.$router.push({ path:'/...' query:{ id:id } }) 接收参数:this.$route.query.id params传值: 传参: ...

  6. vue中this.$router.push() 传参

    1  params 传参 注意⚠️:patams传参 ,路径不能使用path 只能使用name,不然获取不到传的数据 this.$router.push({name: 'dispatch', para ...

  7. WPF中ContextMenu通过CommandParameter传参

    场景:ListBox中有个ContextMenu,希望点击其中一个菜单项的时候把ListBox当做CommandParameter传递给Command,但是发现无论是通过ElementName还是Re ...

  8. ZZW_shell脚本中的调用MYSQL传参及注意的问题

    [oracle@ip9140 db_pcc]$ cat zzw_cc.sh #!/bin/bash z_user='pcc_csuser22'z_pass='pcc_csuser22'z_db='db ...

  9. JdbcTemplate中向in语句传参

    spring jdbc包提供了JdbcTemplate和它的两个兄弟SimpleJdbcTemplate和NamedParameterJdbcTemplate,我们先从JdbcTemplate入手, ...

随机推荐

  1. Codeforces Round #545 (Div. 2)(B. Circus)

    题目链接:http://codeforces.com/contest/1138/problem/B 题目大意:贼绕口的题目,就是给你两个字符串s1,s2,然后每一个人代表一列,第一列代表技能一每个人是 ...

  2. Android自定义控件三种方式

    1.组合原生控件(继承自ViewGroup.LinearLayout.FrameLayout.RelativeLayout等)   将原生空间做组合,自定义一些事件 2.自己绘制控件(继承自View) ...

  3. ubuntu14.04安装opencv-python

    系统:ubuntu14.04 已安装:python2.7 需求:安装opencv-python 问题:python  import cv2报错: 解决: pip install -i https:// ...

  4. classpath和classpath*的区别

    classpath 指的是自己项目里的编译后的class路径 classpath* 包含jar包里面的class路径

  5. 论文笔记系列-iCaRL: Incremental Classifier and Representation Learning

    导言 传统的神经网络都是基于固定的数据集进行训练学习的,一旦有新的,不同分布的数据进来,一般而言需要重新训练整个网络,这样费时费力,而且在实际应用场景中也不适用,所以增量学习应运而生. 增量学习主要旨 ...

  6. 709. To Lower Case

    Algorithm to-lower-case https://leetcode.com/problems/to-lower-case/ 1)problem Implement function To ...

  7. Pytorch复现Faster-RCNN

    5月的最后一天,需要写点什么. 通过前几篇博客对Faster-RCNN算是有了一个比较全面的认识,接下来的半个月断断续续写了一些代码,基本上复现了论文.利用torchvision的VGG16预训练权重 ...

  8. Kafka监控KafkaOffsetMonitor【转】

    1.概述 前面给大家介绍了Kafka的背景以及一些应用场景,并附带上演示了Kafka的简单示例.然后,在开发的过程当中,我们会发现一些问题,那就是消息的监控情况.虽然,在启动Kafka的相关服务后,我 ...

  9. Ubuntu 18.04使用sudo pip3报错

    在使用sudo pip3 install python库的时候出现如下警告: The directory '/home/lzhu/.cache/pip/http' or its parent dire ...

  10. java二分查找

    二分查找又称折半查找,优点是比较次数少,查找速度快,平均性能好:其缺点是要求待查表为有序表,且插入删除困难.因此,折半查找方法适用于不经常变动而查找频繁的有序列表.首先,假设表中元素是按升序排列,将表 ...