学习地址:http://docs.python-requests.org/zh_CN/latest/user/quickstart.html#id2

  使用requests发送网络请求

一、导入requests库

  import requests

二、请求

  r=requests.get("http://www.baidu.com")

  rpost=request.post("http://www.baidu.com",data={'key':value})

  其他请求模式类似

详细说明

  1、在URL中使用查询字符串传递值,在URL中,数据会以键值对的形式置于URL中,跟在一个问号的后面,如:http://www.baidu.com?key=values,在requests中可以使用params关键字参数,以一个字符串字典来提供这些参数,如下:

  keyvalues={"key1":values1,"key2":values2}

  rget=requests.get("http://www.baidu.com",params=payload)

  请求地址为:http://www.baidu.com?key1=values1&key2=values2

  注意点:字典中的值为None时键也不会添加到URL的查询字符串中。

三、响应

  在请求后,可以得到服务器的响应内容

  import requests

  rpost=requests.post("http://www.baidu.com")

  ---表示将请求的响应结果对象赋值给了repost这个变量,可以通过这个对象变量查看响应的各种信息。

  rpost.text:查看响应信息;

  rpost.encoding:查看编码;

  rpost.content:查看响应内容(字节方式);

  rpost.status_code:查看响应代码

  rpost.raise_for_status():

  requests内置了一个JSON解码器,可以已json格式查看响应数据。

四、请求头

  如果需要添加http头部,只要简单地传递一个dict给headers参数就可以了。

  注意点:所有的header值必须是string、bytestring或unicode。尽管传递unicode header也是允许的,但是不建议这样做。

五、Cookie

1、查看响应中的cookie

  responses.cookies

2、传递cookie

3、cookie的返回对象是RequestsCookieJar

六、重定向与请求历史

  可以使用响应对象的history方法来追踪重定向

  response.history

  可使用allow_redirects参数禁用重定向

七、超时

  在requests请求时,应该设置timeout这个参数(单位为:秒),表示等待多少秒后定制等待响应。

八、错误和异常

  遇到网络问题时,requests会抛出一个ConnectionError异常

  如果返回来了不成功的状态码,Response.raise_for_status()会抛出一个httperror异常

  若请求超时,则抛出一个Timeout异常

  若超过设定的最大重定向次数,则会抛出一个TooManyRedirects异常

  所有的request显示抛出的异常都继承自requests.exceptions.RequestException

python学习之requests基础的更多相关文章

  1. python学习日记(基础数据类型及其方法01)

    数字 int 主要是用于计算的,常用的方法有一种 #既十进制数值用二进制表示时,最少使用的位数i = 3#3的ASCII为:0000 0011,即两位 s = i.bit_length() print ...

  2. Python学习day16-模块基础

    <!doctype html>day16 - 博客 figure:last-child { margin-bottom: 0.5rem; } #write ol, #write ul { ...

  3. Python学习day12-函数基础(2)

    <!doctype html>day12博客 figure:last-child { margin-bottom: 0.5rem; } #write ol, #write ul { pos ...

  4. Python学习day11-函数基础(1)

    figure:last-child { margin-bottom: 0.5rem; } #write ol, #write ul { position: relative; } img { max- ...

  5. Python学习课程零基础学Python

    python学习课程,零基础Python初学者应该怎么去学习Python语言编程?python学习路线这里了解一下吧.想python学习课程?学习路线网免费下载海量python教程,上班族也能在家自学 ...

  6. Python学习笔记之基础篇(-)python介绍与安装

    Python学习笔记之基础篇(-)初识python Python的理念:崇尚优美.清晰.简单,是一个优秀并广泛使用的语言. python的历史: 1989年,为了打发圣诞节假期,作者Guido开始写P ...

  7. Python学习总结之一 -- 基础篇

    Python学习第一篇 一:写在前面 啊,最近我的新博客一直都没有更新学习内容了,只是最近一直都在忙着寻找实习机会(或许这只是一个借口,真实原因是我太懒惰了,改改改!).终于今天又投递了几个新的实习职 ...

  8. python学习之-requests模块基础

    安装版本:2.18 模块导入:import requests l  发送请求 发送GET请求: 获取GITHUB的公共时间线 r = requests.get(url='https://api.git ...

  9. Python 学习笔记(基础语法 restful 、 Flask 和 Requests)

    input 函数 #!/usr/bin/env python3 name = input("\n\n按下 enter 键后退出.") print(name) print() 在 p ...

随机推荐

  1. python-scp-上传文件到服务器

    python中使用scp,将文件上传到服务器 def ssh_scp_put(ip, username, password, local_file, remote_path): "" ...

  2. 解决ssh登录很慢的问题以及jumpserver登录主机出现:Authentication timeout

    一.问题 登录ssh输入用户名后,等待很长时间20-30秒左右才显示输入密码提示框,从而导致通过jumpserver堡垒机登录主机时,报错:Authentication timeout Opt> ...

  3. 数据可视化--> numpy

    一.NumPy 1.简介: 官网链接:http://www.numpy.org/ NumPy是Python语言的一个扩充程序库.支持高级大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库 ...

  4. 基于vue模块化开发后台系统——准备工作

    文章目录如下:项目效果预览地址项目开源代码基于vue模块化开发后台系统--准备工作基于vue模块化开发后台系统--构建项目基于vue模块化开发后台系统--权限控制 前言 本文章是以学习为主,练习一下v ...

  5. 2019JAVA最新课程-React从入门到实战(新)

    1.准备工作 可以在yunp.top网站看webpack,node/npm,cnpm的相关使用视频教程 react有两种使用方式,一是在现有网站中添加:二是创建一个全新的 官网创建全新一个react ...

  6. 微信公众号发送告警Python脚本

    调用该脚本,可以向微信公众号发生告警. #!/bin/env python #coding:utf-8 #Author: Hogan #Descript : 微信公众号发送告警脚本 import ur ...

  7. linux 系统下 tar 的压缩与解压缩命令

    1.压缩 [small@sun shine]# tar -zcvf java.tar.gz java java/ java/default/ java/default/THIRDPARTYLICENS ...

  8. 实战build-react(二)-------引入Ant Design(增加)

    https://blog.csdn.net/zhan_lijian/article/details/85271906(copy) 1.肯定参考facebook关于react官网咯 快速搭建 creat ...

  9. ICPC — International Collegiate Programming Contest Asia Regional Contest, Yokohama, 2018–12–09 题解

    目录 注意!!此题解存在大量假算法,请各位巨佬明辨! Problem A Digits Are Not Just Characters 题面 题意 思路 代码 Problem B Arithmetic ...

  10. 【Leetcode】最长回文子串

    启发 1)做题前一定要读懂题目 在本题中,首先要清楚地定义回文子串的概念,然后才能设计算法查找它. 如中心扩散法,其主要思想在于找到一个回文子串的定义——两侧互为镜像.进一步分为奇数长度和偶数长度进行 ...