request模块 一基础部分
一、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模块 一基础部分的更多相关文章
- Python之request模块-基础用法
Request模块参考中文手册:https://requests.readthedocs.io/zh_CN/latest/ Request模块 1.查看pip已装包(模块)的安装信息(模块的路径.版本 ...
- request 模块详细介绍
request 模块详细介绍 request Requests 是使用 Apache2 Licensed 许可证的 基于Python开发的HTTP 库,其在Python内置模块的基础上进行了高度的封装 ...
- node.js的http模块的基础 学到的东西
node.js的http模块的基础 学到的东西 其中客户端:我们在node.js中如果要请求服务端中的js或者其他脚本的话要使用http.request()方法他会返回http.ClientReque ...
- python3中urllib库的request模块详解
刚刚接触爬虫,基础的东西得时时回顾才行,这么全面的帖子无论如何也得厚着脸皮转过来啊! 原帖地址:https://www.2cto.com/kf/201801/714859.html 什么是 Urlli ...
- dojo/request模块整体架构解析
总体说明 做前端当然少不了ajax的使用,使用dojo的童鞋都知道dojo是基于模块化管理的前端框架,其中对ajax的处理位于dojo/request模块.一般情况下我们使用ajax请求只需要引入do ...
- node.js的request模块
request模块让http请求变的更加简单.最简单的一个示例: 1: var request = require('request'); 2: 3: request('http://www.goo ...
- es 模块的基础知识,深度了解
// 一模块的基础知识 /** * export :用于模块输出的出口 * import :文件引入的入口 */ // 1,第一种方式使用export方式输出 var a = 'a'; var b = ...
- python接口自动化测试(一)-request模块
urllib.request模块是python3针对处理url的. 1. 首先导入: from urllib import request 2. 构造url,构造url的headers信息和传参[re ...
- 第5月第10天 node.js的request模块
1.node.js的request模块 http://www.cnblogs.com/meteoric_cry/archive/2012/08/18/2645530.html
随机推荐
- makefile编写---单个子目录编译模板
经过这次地库项目之后,虽然时间不久,跟团队在一起,虽然队员不一定在技术上有过人之处,但是来自大公司的员工,在工具使用和代码规范方面还是有点可鉴之处,在搭建主控模块是,就得面临makefile编写,因为 ...
- 【问题】CentOS6.5系统"libc.so.6: version 'GLIBC_2.15' not found"解决方法
出现"libc.so.6: version 'GLIBC_2.15' not found"问题,是由于glibc版本过低,升级glibc即可. 由于CentOS系统RPM源目前gl ...
- 回调函数(callback)是什么?
你到一个商店买东西,刚好你要的东西没有货,于是你在店员那里留下了你的电话,过了几天店里有货了,店员就打了你的电话,然后你接到电话后就到店里去取了货.在这个例子里,你的电话号码就叫回调函数,你把电话留给 ...
- 第二章----python函数
第一节:调用函数 1.函数是什么? 函数是组织好的,可以重复利用的. 2.为什么要用到函数? 提高应用的模块性,提高重复利用率.指的是:多个文件中可能都要用到该函数,直接拿来调用就行,不用在重复写一个 ...
- Android初体验-D3
1. UI界面布局. (即可用XML控制布局也可采用Java代码布局,不过在实际应用中是两者混合控制UI界面,为什么呢,因为XML适用于固定的不易改变的组件布局,Java程序控制常变的组件...其控制 ...
- 【Python】Python获取命令行參数
有时候须要用同一个Python程序在不同的时间来处理不同的文件,此时假设老是要到Python程序中去改动输入.输出文件名称.就太麻烦了. 而通过Python获取命令行參数就方便多了.以下是我写得一个小 ...
- Android无线测试之—UiAutomator UiDevice API介绍一
UiDevice 类介绍 1.UiDevice 代表设备状态 2.UiDevice 为单例模式 获取UiDevice实例的方式: 1) UiDevice.getInstance() 2) getUiD ...
- 多个 python的pip版本选择
如果你电脑里面装了多个版本的python python3 -m pip instatll xlutilspython2 -m pip instatll xlutils 加载新的pippython -m ...
- java中使用MD5进行加密
java中使用MD5进行加密 在各种应用系统的开发中,经常需要存储用户信息,很多地方都要存储用户密码,而将用户密码直接存储在服务器上显然是不安全的,本文简要介绍工作中常用的 MD5加密算法,希 ...
- OSPF-lsa-types