一、HTTP请求  

通过requests发送网络请求,方法有get post put delete head options

import requests
r=requests.get("http://github.com/timeline.json")
print(r.text)
r=requests.post("http://httpbin.org/post")
print(r.text)

二、传递URL参数

如果为url字符串传递数据,手工构建url那么数据就会以键值对的方式存在URL中,字典中的None不会被添加到URL的查询字符串里面

import requests
payload={"key1":"value1","key2":"value2","key3":("value2",)}
r=requests.get("http://httpbin.org/get",params=payload)
print(r.text) #获取相应内容
print(r.url) #http://httpbin.org/get?key1=value1&key2=value2&key3=value2

三、相应内容

1、自动编码的获取相应内容

r.text

2、二进制方式相应内容

r.content

3、获取传递的url

r.url

4、获取json响应内容

r.json()

注意:

a、如果json解压失败,会抛出一个异常

b、成功调用并不意味着响应成功,所以要用

r.raise_for_status()成功返回None或者r.status_code验证成功返回200

5、获取响应头

r.headers

由于响应头是字典形式,所以可以用get等字典方式获取内容

5、获取请求对象列表

r.history

四、定制请求

请求做成数据流文档

1、定制请求头,直接传递dict。给headers参数就可以

如:

import requests
url="https://api.github.con/some/endpoint"
headers={'user-agent':'my-app.0.0.1'}
r=requests.get(url,headers=headers)
print(r.text)

2、复杂的POST请求

a、要发送一些表单形式的数据传递参数data就可以,这个参数可以是元祖,列表

如:

import requests
url="https://api.github.con/some/endpoint"
headers={'user-agent':'my-app.0.0.1'}
r=requests.get(url,headers=headers)
print(r.text)

b、可以直接使用json参数传递

import requests
import json
payload={'some':'data'} r=requests.post("https://api.github.com/some/endpoint",json=payload)
print(r.text)

3、post多部分编码的文件,这里requests里面可以写入请求头

import requests
url="http://httpbin.org/post"
files={"file":open("a.txt","rb")} r=requests.post(url,files=files)
print(r.text)、

五、相应状态码

1、查询相应吗

r.status_code

2、抛出异常

r.raise_for_status()

六、cookie

1、获取cookie

import requests
url='http://www.baidu.com' r=requests.get(url)
print(r.cookies)

2、设置cookie

>>> url = 'http://httpbin.org/cookies'
>>> cookies = dict(cookies_are='working') >>> r = requests.get(url, cookies=cookies)
>>> r.text

3、超时

r=requests.get(url,timeout=1)

超时只对连接有效,如果在timeout时间没有应答,会引发异常

request模块 一基础部分的更多相关文章

  1. Python之request模块-基础用法

    Request模块参考中文手册:https://requests.readthedocs.io/zh_CN/latest/ Request模块 1.查看pip已装包(模块)的安装信息(模块的路径.版本 ...

  2. request 模块详细介绍

    request 模块详细介绍 request Requests 是使用 Apache2 Licensed 许可证的 基于Python开发的HTTP 库,其在Python内置模块的基础上进行了高度的封装 ...

  3. node.js的http模块的基础 学到的东西

    node.js的http模块的基础 学到的东西 其中客户端:我们在node.js中如果要请求服务端中的js或者其他脚本的话要使用http.request()方法他会返回http.ClientReque ...

  4. python3中urllib库的request模块详解

    刚刚接触爬虫,基础的东西得时时回顾才行,这么全面的帖子无论如何也得厚着脸皮转过来啊! 原帖地址:https://www.2cto.com/kf/201801/714859.html 什么是 Urlli ...

  5. dojo/request模块整体架构解析

    总体说明 做前端当然少不了ajax的使用,使用dojo的童鞋都知道dojo是基于模块化管理的前端框架,其中对ajax的处理位于dojo/request模块.一般情况下我们使用ajax请求只需要引入do ...

  6. node.js的request模块

    request模块让http请求变的更加简单.最简单的一个示例: 1: var request = require('request'); 2:  3: request('http://www.goo ...

  7. es 模块的基础知识,深度了解

    // 一模块的基础知识 /** * export :用于模块输出的出口 * import :文件引入的入口 */ // 1,第一种方式使用export方式输出 var a = 'a'; var b = ...

  8. python接口自动化测试(一)-request模块

    urllib.request模块是python3针对处理url的. 1. 首先导入: from urllib import request 2. 构造url,构造url的headers信息和传参[re ...

  9. 第5月第10天 node.js的request模块

    1.node.js的request模块 http://www.cnblogs.com/meteoric_cry/archive/2012/08/18/2645530.html

随机推荐

  1. Unity3D学习笔记——NGUI使用常见问题

    一:在Scene中右键创建UI组件. 首先要确定NGUI中的红框能看见,我的就是之前无法现实红框,所以右键无法新建UI组件, 原因是:UIPanel没启用. 启用方法: 启用前和启用后NGUI界面对比 ...

  2. Android无线测试之—UiAutomator UiDevice API介绍三

    获取坐标与坐标点击 一.坐标相关的知识: 1)手机屏幕坐标:左上角开始到右下角结束 2)DP:设备独立像素,例如320像素显示到640像素上要拉伸一倍 3)Point:代表一个点(x,y),左上角的坐 ...

  3. ios如何在当前工程中添加编辑新建的FramesWork

    本文转载至 http://www.apkbus.com/android-131519-1-1.html,感谢原文作者的分享.     naniboy 该用户从未签到   可能很多大牛都见过FaceBo ...

  4. Linux I/O 进阶

    非阻塞I/O 阻塞I/O对应于低速的系统调用,可能会使进程永远阻塞.非阻塞I/O可以使我们发出open.read.write这样的I/O操作,并使这些操作不会永远阻塞.如果这种操作不能完成,则调用立即 ...

  5. 【BZOJ4066】简单题 KDtree

    [BZOJ4066]简单题 Description 你有一个N*N的棋盘,每个格子内有一个整数,初始时的时候全部为0,现在需要维护两种操作: 命令 参数限制 内容 1 x y A 1<=x,y& ...

  6. 巨蟒django之CRM2 展示客户列表&&分页

    1.展示客户列表 点击画红线中的views,进入下列界面 路径的查找顺序:应该是先查找外层的templates里边的html,然后查找app里边的templates 另一个会按照app的顺序进行寻找, ...

  7. <2013 06 24> 关于Zigbee项目_Munik_TUM_eCar

    (本月)6月4号到德国慕尼黑,参与TUM大学的一个电动车项目组,预计时间3个月. 我的任务是参与wireless的研究,主要就是用无线链接取代有线链接(汽车线缆很多很讨厌). 使用的是TI MP430 ...

  8. 通过profile优化SQL语句

    开启profile优化SQL语句:set profiling=1;执行SQL语句show profiles;show profile for query 2;//根据query_id 查看某个查询的详 ...

  9. c# 获取网页源代码(支持cookie),最简单代码

    /// /// 获取网页源码 public static string GetHtmls(string url, string referer = "", string cooki ...

  10. 《Python机器学习》笔记(五)

    通过降维压缩数据 在前面已经介绍了几种不同的特征选择技术对数据集进行降维的方法.另一种常用于降维的特征选择方法就是特征抽取.数据压缩也是机器学习领域中的一个重要内容.数据压缩技术可以帮助我们对数据及逆 ...