python requests学习

1、无参数直接get

>>> import requests
>>> r  = requests.get("http://httpbin.org/get")

>>> r.status_code
200
>>> print(r.text)
{
  "args": {},
  "headers": {
    "Accept": "*/*",
    "Accept-Encoding": "gzip, deflate",
    "Host": "httpbin.org",
    "User-Agent": "python-requests/2.9.1"
  },
  "origin": "110.184.65.255",
  "url": "http://httpbin.org/get"
}

同时支持json直接获取json解码后结果

>>> r.json()
{‘args‘: {}, ‘origin‘: ‘110.184.65.255‘, ‘url‘: ‘http://httpbin.org/get‘, ‘headers‘: {‘Accept‘: ‘*/*‘, ‘Accept-Encoding‘: ‘gzip, deflate‘, ‘Host‘: ‘httpbin.org‘, ‘User-Agent‘: ‘python-requests/2.9.1‘}}

2、有参数的get,制定params的参数的值。

>>> payload = {‘name‘:‘felix‘,‘password‘:‘12345678‘}
>>> r = requests.get(‘http://httpbin.org/get‘,params=payload)
>>> print(r.url)
http://httpbin.org/get?name=felix&password=12345678
>>> r.status_code
200
>>> print(r.text)
{
  "args": {
    "name": "felix",
    "password": "12345678"
  },
  "headers": {
    "Accept": "*/*",
    "Accept-Encoding": "gzip, deflate",
    "Host": "httpbin.org",
    "User-Agent": "python-requests/2.9.1"
  },
  "origin": "110.184.65.255",
  "url": "http://httpbin.org/get?name=felix&password=12345678"
}

可以用r.url打印生成的url.

3、修改HTTP头内容

>>> headers={‘user-agent‘:"IE9.0"}
>>> r = requests.get("http://httpbin.org/get",headers=headers)

4、POST方法, form格式

>>> payload
{‘name‘: ‘felix‘, ‘password‘: ‘12345678‘}
>>> r = requests.post("http://httpbin.org/post",data=payload)
>>> r.status_code
200
>>> print(r.text)
{
  "args": {},
  "data": "",
  "files": {},
  "form": {
    "name": "felix",
    "password": "12345678"
  },
  "headers": {
    "Accept": "*/*",
    "Accept-Encoding": "gzip, deflate",
    "Content-Length": "28",
    "Content-Type": "application/x-www-form-urlencoded",
    "Host": "httpbin.org",
    "User-Agent": "python-requests/2.9.1"
  },
  "json": null,
  "origin": "110.184.65.255",
  "url": "http://httpbin.org/post"
}

json格式

>>> r = requests.post("http://httpbin.org/post",json=payload,headers=headers)
>>> print(r.text)
{
  "args": {},
  "data": "{\"name\": \"felix\", \"password\": \"12345678\"}",
  "files": {},
  "form": {},
  "headers": {
    "Accept": "*/*",
    "Accept-Encoding": "gzip, deflate",
    "Content-Length": "41",
    "Content-Type": "application/json",
    "Host": "httpbin.org",
    "User-Agent": "IE9.0"
  },
  "json": {
    "name": "felix",
    "password": "12345678"
  },
  "origin": "110.184.65.255",
  "url": "http://httpbin.org/post"
}

字符串格式:

r = requests.post(‘http://httpbin.org/post‘, data=json.dumps(payload))

5、超时

>>> r=requests.get("https://www.baidu.com",timeout=0.1)
>>> r=requests.get("https://www.baidu.com",timeout=0.005)
Traceback (most recent call last):
  File "C:\Python34\lib\site-packages\requests\packages\urllib3\connection.py", line 137, in _new_conn

Errors and Exceptions

In the event of a network problem (e.g. DNS failure, refused connection, etc), Requests will raise aConnectionError exception.

In the rare event of an invalid HTTP response, Requests will raise an HTTPError exception.

If a request times out, a Timeout exception is raised.

If a request exceeds the configured number of maximum redirections, a TooManyRedirects exception is raised.

All exceptions that Requests explicitly raises inherit from requests.exceptions.RequestException.

更多信息详见:http://www.python-requests.org/en/master/user/quickstart/

时间: 2024-10-26 21:48:27

python requests学习的相关文章

python requests库学习笔记(上)

尊重博客园原创精神,请勿转载! requests库官方使用手册地址:http://www.python-requests.org/en/master/:中文使用手册地址:http://cn.python-requests.org/zh_CN/latest/: requests库作者Kenneth Reitz个人主页:https://www.kennethreitz.org/: requests库github地址:https://github.com/requests/requests: requ

Python+Requests接口测试教程(1):Fiddler抓包工具

本书涵盖内容:fiddler.http协议.json.requests+unittest+报告.bs4.数据相关(mysql/oracle/logging)等内容.刚买须知:本书是针对零基础入门接口测试和python+requests自动化的,首先本书确实写的比较基础,对基础内容也写的很详细,所以大神绕道. 为什么要先学fiddler? 学习接口测试必学http协议,如果直接先讲协议,我估计小伙伴们更懵,为了更好的理解协议,先从抓包开始.结合抓包工具讲http协议更容易学一些. 1.1 抓fir

Python实战:Python爬虫学习教程,获取电影排行榜

Python应用现在如火如荼,应用范围很广.因其效率高开发迅速的优势,快速进入编程语言排行榜前几名.本系列文章致力于可以全面系统的介绍Python语言开发知识和相关知识总结.希望大家能够快速入门并学习Python这门语言. 本文是在前一部分Python基础之上程序员带你十天快速入门Python,玩转电脑软件开发(四),再次进行的Python爬虫实战课程. 正则表达式实例简单详解 正则表达式干什么用? 就是在字符串中提取我们需要的内容的. 记得哦,要先引用正则表达式模块的哦. re就是正则表达式相

Python爬虫学习系列教程

Python爬虫学习系列教程 大家好哈,我呢最近在学习Python爬虫,感觉非常有意思,真的让生活可以方便很多.学习过程中我把一些学习的笔记总结下来,还记录了一些自己实际写的一些小爬虫,在这里跟大家一同分享,希望对Python爬虫感兴趣的童鞋有帮助,如果有机会期待与大家的交流. Python版本:2.7 一.爬虫入门 1. Python爬虫入门一之综述 2. Python爬虫入门二之爬虫基础了解 3. Python爬虫入门三之Urllib库的基本使用 4. Python爬虫入门四之Urllib库

python+requests接口自动化测试框架实例详解教程

转自https://my.oschina.net/u/3041656/blog/820023 摘要: python + requests实现的接口自动化框架详细教程 前段时间由于公司测试方向的转型,由原来的web页面功能测试转变成接口测试,之前大多都是手工进行,利用postman和jmeter进行的接口测试,后来,组内有人讲原先web自动化的测试框架移驾成接口的自动化框架,使用的是java语言,但对于一个学java,却在学python的我来说,觉得python比起java更简单些,所以,我决定自

Python最佳学习路线,选一个发展方向努力吧!

一.概述 2019年Python语言可以说是火的一塌糊涂,作为一门将近20年的计算机语言,直到最近才流行起来,真是可以说是大器晚成.说句实在话,Python语言的大火与人工智能这门科学是密不可分的.那么Python只能做人工智能吗?答案:肯定不是.Python作为小白入门的计算机语言在合适不过了.那我们一起来看看Python语言最好的学习路线是什么,我给大家整理一份学习路线图,大家可以参考看一下. **创一个小群,供大家学习交流聊天 如果有对学python方面有什么疑惑问题的,或者有什么想说的想

Python爬虫学习路线,强烈建议收藏这十一条

(一)如何学习Python 学习Python大致可以分为以下几个阶段: 1.刚上手的时候肯定是先过一遍Python最基本的知识,比如说:变量.数据结构.语法等,基础过的很快,基本上1~2周时间就能过完了,我当时是在这儿看的基础:Python 简介 | 菜鸟教程 2.看完基础后,就是做一些小项目巩固基础,比方说:做一个终端计算器,如果实在找不到什么练手项目,可以在 Codecademy - learn to code, interactively, for free 上面进行练习. 如果时间充裕的

python+requests接口自动化测试框架实例详解

前段时间由于公司测试方向的转型,由原来的web页面功能测试转变成接口测试,之前大多都是手工进行,利用postman和jmeter进行的接口测试,后来,组内有人讲原先web自动化的测试框架移驾成接口的自动化框架,使用的是java语言,但对于一个学java,却在学python的我来说,觉得python比起java更简单些,所以,我决定自己写python的接口自动化测试框架,由于本人也是刚学习python,这套自动化框架目前已经基本完成了,于是进行一些总结,便于以后回顾温习,有许多不完善的地方,也遇到

Python requests

Python requests备忘 0x01 1 #coding:utf-8 2 import requests 3 4 res = requests.get('http://www.baidu.com') 5 print res.status_code 6 print res.headers['content-type'] #头部信息 7 print res.encoding #编码信息 8 print res.text9 print res.content 0x02 payload 1 im