4、requests-基础

1、发出一个get请求:

r = requests.get('https://github.com/timeline.json')

返回给我们的r,是一个requets的对象,这个requests的对象中我们可以调用一些属性,方便我们得到更加详细的信息;

r.status_code        # 响应状态码
r.content            # 字节方式的响应体,会自动为你解码 gzip 和 deflate 压缩
r.headers            # 以字典对象存储服务器响应头,但是这个字典比较特殊,字典键不区分大小写,若键不存在则返回None
r.json               # Requests中内置的JSON解码器
r.url                # 获取url
r.encoding           # 编码格式
r.cookies            # 获取cookie
r.raw                # 返回原始响应体
r.text               # 字符串方式的响应体,会自动根据响应头部的字符编码进行解码
r.raise_for_status() # 失败请求(非200响应)抛出异常

同时,get方法可以接受参数:

# -*- coding:utf-8 -*-import requests
# 字典的形式填充参数 params
= {'k1': 'v1', 'k2': 'v2'} r = requests.get('http://www.baidu.com', params=params)

get请求,是将参数添加到url上:

http://www.baidu.com/?k2=v2&k1=v1

同时你也可以把列表当做字典的值传到url中:

params = {'k1': 'v1', 'k2': ['v2', 'v3', 'v4']}r = requests.get('http://www.baidu.com', params=params)

#得到的url:http://www.baidu.com/?k2=v2&k2=v3&k2=v4&k1=v1

添加请求头:

params = {'k1': 'v1', 'k2': ['v2', 'v3', 'v4']}
header = {'k1': 'v1', 'k2': 'v2'}r = requests.get('http://www.baidu.com', params=params, headers=header)

2、发起一个post的请求:

import requestsparams = {'k1': 'v1', 'k2': ['v2', 'v3', 'v4']}
header = {'k1': 'v1', 'k2': 'v2'}r = requests.post('http://httpbin.org/post', data=params, headers=header)

当然我们可以使用post传递json文件:

import requests
import jsonparams = {'k1': 'v1', 'k2': ['v2', 'v3', 'v4']}
header = {'k1': 'v1', 'k2': 'v2'}
# 使用json库,序列化python数据类型为json字符串 json_data
= json.dumps(params)r = requests.post('http://httpbin.org/post', data=json_data, headers=header)

除了对dict进行编码后传递,还可以json参数直接进行传递,它会自动帮我进行编码:

params = {'k1': 'v1', 'k2': ['v2', 'v3', 'v4']}
header = {'k1': 'v1', 'k2': 'v2'}
json_data = json.dumps(params)
# 使用json参数传递参数,传递之前会先进行序列化
r = requests.post('http://httpbin.org/post', json=params, headers=header)

设置超时时间:

timeout 仅对连接过程有效,与响应体的下载无关。 timeout 并不是整个下载响应的时间限制,而是如果服务器在 timeout 秒内没有应答,将会引发一个异常(更精确地说,是在timeout 秒内没有从基础套接字上接收到任何字节的数据时)

 

转载于:https://www.cnblogs.com/liyu2151/p/7132735.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/468204.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C语言验证大小端的几个方法

大小端的问题在很多面试笔试中都会遇到,最直接的考察是,笔试的时候,让你写一个代码,如何确定当前系统是大端还是小端的。什么是大端和小端呢?大端: 高位字节排放在内存的低地址端,低位字节排放在…

python中import os_Python常用模块os--与操作系统交互

os.getcwd() 返回当前工作目录绝对路径 Python 3.7.0 (v3.7.0:1bf9cc5093, Jun 27 2018, 04:59:51) [MSC v.1914 64 bit (AMD64)] on win32 Type "copyright", "credits" or "license()" for more information. >>> import os >>…

Windows系统带你一步一步无脑使用babel

不废话直接写看步骤: 1、在F盘新建一个文件夹叫babel 2、npm init 初始化项目 3、全局安装npm install babel babel-cli -g 4、项目安装npm install babel-cli --save-dev 项目目录里会多一个node_modules包 5、新建一个es6.js文件 随便写一段es6 6、输入指令babel …

php处理base64数据,php基于base64解码数据与图片的转换

header(Content-type:text/html;charsetutf-8);//读取图片文件,转换成base64编码格式$image_file ./4296762_165319032930_2.jpg;$image_info getimagesize($image_file);// $image_info /9j/4AAQSkZJRgABAQAASABIAAD......;$base64_image_content "data:{…

python sklearn 归一化_数据分析|Python特征工程(5)

OX00 引言数据和特征决定了机器学习的上限,而模型和算法只是逼近这个上限而已。由此可见,特征工程在机器学习中占有相当重要的地位。在实际应用当中,可以说特征工程是机器学习成功的关键。特征做不好,调参调到老。重视调参&#x…

盘点多款国产Linux桌面操作系统

编辑:strongerHuang微信公众号:strongerHuang素材来源:百度百科、网络国产操作系统多为以Linux 为基础二次开发的操作系统。2014年4月8日起,美国微软公司停止了对Windows XP SP3操作系统提供服务支持,这引起了社会和广…

include包含头文件的语句中,双引号和尖括号的区别

include包含头文件的语句中,双引号和尖括号的区别 #include <>格式&#xff1a;引用标准库头文件&#xff0c;编译器从标准库目录开始搜索 #incluce ""格式&#xff1a;引用非标准库的头文件&#xff0c;编译器从用户的工作目录开始搜索预处理器发现 #include …

Oracle订单号就是授权号码,oracle多单号的说明

在ORACLE中&#xff0c;单引号有两个作用&#xff0c;一是字符串是由单引号引用&#xff0c;二是转义。单引号的使用是就近配对&#xff0c;即就近原则。而在单引号充当转义角色时相对不好理解1、从第二个单引号开始被视为转义符&#xff0c;如果第二个单引号后面还有单引号(哪…

kafka rabbitmq优劣对比_Kafka、RabbitMQ、RocketMQ等消息中间件的对比

原文链接&#xff1a;Kafka、RabbitMQ、RocketMQ等消息中间件的对比消息中间件现在有不少&#xff0c;网上很多文章都对其做过对比&#xff0c;在这我对其做进一步总结与整理。RocketMQ淘宝内部的交易系统使用了淘宝自主研发的Notify消息中间件&#xff0c;使用Mysql作为消息存…

网络负载平衡oracle,[Oracle] RAC 之 - 负载均衡深入解析

Oracle RAC提供两种方式实现负载均衡&#xff0c;第一种是纯技术手段&#xff0c;即在用户连接时&#xff0c;根据系统当前的负载情况决定由哪个节点处理用户请求&#xff1b;第二种是面向业务&#xff0c;人为的把应用切分成很多service&#xff0c;通过某个service过来的连接…

你应该知道这些有意思的代码

Kyle McCormick 在 StackExchange 上发起了一个叫做 Tweetable Mathematical Art 的比赛&#xff0c;参赛者需要用三条推这么长的代码来生成一张图片。具体地说&#xff0c;参赛者需要用 C 语言编写 RD 、 GR 、 BL 三个函数&#xff0c;每个函数都不能超过 140 个字符。每个函…

parachute

actuality /ˌktʃuˈləti/ Jane thinks that they will probably marry in actuality but that he can not love the vain, shallow woman. /ˈwʊmən/ vain men can be jsut as vain as women /ˈwɪmɪn/ 男人有时和女人一样虚荣 The instructor struggled vainly to …

python 对xlsx文件数根据日期进行统计分析_Python处理Excel的常用操作(一)

最近一直忙着学习和写开题报告&#xff0c;都没有时间更文了&#xff0c;今天偷偷来休闲一下。很多人一开始学习python&#xff0c;就是看到了很多关于python能够快速处理和解决表格的广告&#xff0c;于是便有了今天的分享。我主要利用pandas库来做一些简单且常规的操作。1、创…

(四)Asp.net web api中的坑-【api的返回值】

void无返回值IHttpActionResultHttpResponseMessage自定义类型我这里并不想赘述这些返回类型&#xff0c; 可以参考博文http://blog.csdn.net/leonken88/article/details/53063693 和大神的http://www.cnblogs.com/landeanfen/p/5501487.html 我要说我遇到的坑是&#xff0c; p…

C语言实现树,你一定看得懂

之前写了好多篇文章关于数据结构的&#xff0c;既然讲到了数据结构&#xff0c;那么就必须要说一下树&#xff0c;树这个数据结构使用范围非常广&#xff0c;应用前景广阔。关联文章&#xff1a;五分钟搞懂什么是红黑树&#xff08;全程图解&#xff09;Linux 内核红黑树分析这…

程序员开发windows linux,好程序员不用windows作开发环境

好程序员不用windows作为开发环境&#xff0c;今天我想就这个点吐槽一下。最近因为工作关系&#xff0c;需要在windows机器上工作一段时间&#xff0c;作为一个用了多年windows&#xff0c;然后切换到ubuntu作为工作环境两年时间&#xff0c;然后切换到mac大概3年多时间只到最近…

else应输入一个语句是什么意思_Python基础知识储备,关于if-else使用性能的一点感悟...

前面给大家介绍的if-if分支结构是只要条件满足就会执行&#xff1b;而if-else的语句结构是前面的条件成立执行什么操作&#xff0c;则下面的分支结构就不会被执行&#xff0c;若前面的条件不成立(否则)做什么。以下通过三个案例给大家演示if-else语句的使用方法&#xff1a;Pyt…

你应该拥有的无名剑

想了很久的名字&#xff0c;刹那间我不知道怎么给文章起名字了&#xff0c;一个响亮的名字远比正文来得精彩&#xff0c;既然题目比文章精彩&#xff0c;那么就会喧宾夺主&#xff0c;所以我们看很多古诗词的名字起名《无题》&#xff0c;也可以理解为某个时段&#xff0c;肚子…

你真的知道敏捷和迭代吗?

在这敏捷开发横行的时代中&#xff0c;人人都在谈敏捷&#xff0c;人人都在谈迭代&#xff0c;似乎大家好像都尝到了敏捷带来的甜头&#xff0c;记得有一次跟朋友吃饭&#xff0c;说他们现在的项目用敏捷开发&#xff0c;每个迭代都能看到不断完善的产品&#xff0c;非常有成就…

n1运行linux,斐讯N1折腾记:运行 Linux 及优化

此教程同样适用于斐讯 P1咳咳咳&#xff0c;上篇教程教大家给斐讯 N1 降级并且刷了官改系统&#xff0c;可以当作一个电视盒子和下载机来使用。有些小伙伴可能不想把它当作电视盒子&#xff0c;就想把它当作 NAS 或者是服务器&#xff0c;但是总不能拿 Android 玩吧&#xff0c…