本系列教程供个人学习笔记使用,如果您要浏览可能需要其它编程语言基础(如C语言),why?因为我写得烂啊,只有我自己看得懂!!

  • httpbin

    httpbin这个网站能测试 HTTP 请求和响应的各种信息,
    比如 cookie、ip、headers 和登录验证等,且支持 GET、POST 等多种方法,
    对 web 开发和测试很有帮助。它用 Python + Flask 编写,是一个开源项目。
    官方网站:http://httpbin.org/
    开源地址:https://github.com/Runscope/httpbin

  • get请求
    一、简单get请求数据
     import requests
    get_url = 'http://www.httpbin.org/get'
    r = requests.get(get_url) #发送get请求
    print r
    print help(r)
    print r.text #接收的内容in bytes
    print r.content #接收的内容in unicode

    二、使用python抓去百度主页

     import requests
    r = requests.get('http://www.baidu.com')
    print r.content
    #打开一个文件,并存入网页信息
    with open('baidu.html','w') as fil:
    fil.write(r.content)

    三、get传参

     #可以先通过help函数来查看下get方法的文档说明
    import requests
    # print help(requests.get)
    get_url = 'http://www.httpbin.org/get'
    myparams={'qq':''}
    # r = requests.get(url=get_url,params=myparams)
    r = requests.get(get_url,myparams)
    print r.url #请求的url,拼接url和参数
    print r.content #返回的数据
  • post请求
    一、发送请求体
    例子:
     import requests
    #先来查看下post方法的文档使用说明
    # print help(requests.post)
    #通过data来传参,相当于传的表单,在返回的数据中可以看出
    post_url = 'http://www.httpbin.org/post'
    myData={'qq':'','cnblog':'hyyq'}
    r = requests.post(url = post_url,data = myData)
    print r.url #请求的url,请求体就是参数
    print r.content #返回的数据

    输出:

     http://www.httpbin.org/post
    {
    "args": {},
    "data": "",
    "files": {},
    "form": {
    "cnblog": "hyyq",
    "qq": "34782655"
    },
    "headers": {
    "Accept": "*/*",
    "Accept-Encoding": "gzip, deflate",
    "Connection": "close",
    "Content-Length": "23",
    "Content-Type": "application/x-www-form-urlencoded",
    "Host": "www.httpbin.org",
    "User-Agent": "python-requests/2.18.4"
    },
    "json": null,
    "origin": "183.230.42.10",
    "url": "http://www.httpbin.org/post"
    } [Finished in 1.3s]

    二、发送json数据
    例子:

     import requests,json
    post_url = 'http://www.httpbin.org/post'
    myData={'qq':'','cnblog':'hyyq'}
    r = requests.post(url = post_url,json = myData)
    # r = requests.post(url = post_url,data = json.dumps(myData))
    print r.url #请求的url,发送json数据
    print r.content #返回的数据

    输出:

     http://www.httpbin.org/post
    {
    "args": {},
    "data": "{\"qq\": \"34782655\", \"cnblog\": \"hyyq\"}",
    "files": {},
    "form": {},
    "headers": {
    "Accept": "*/*",
    "Accept-Encoding": "gzip, deflate",
    "Connection": "close",
    "Content-Length": "36",
    "Content-Type": "application/json",
    "Host": "www.httpbin.org",
    "User-Agent": "python-requests/2.18.4"
    },
    "json": {
    "cnblog": "hyyq",
    "qq": "34782655"
    },
    "origin": "183.230.42.10",
    "url": "http://www.httpbin.org/post"
    } [Finished in 1.0s]
  • 上传文件
    例子:
     #上传文件
    import requests
    # print help(requests)
    post_url = 'http://www.httpbin.org/post'
    files = {'file':open('yyc.txt','rb')} #这里rb是以读的方式用二进制格式打开
    r = requests.post(post_url,files=files)
    print r.content

    输出:

     {
    "args": {},
    "data": "",
    "files": {
    "file": "data:application/octet-stream;base64,xOO6ww=="
    },
    "form": {},
    "headers": {
    "Accept": "*/*",
    "Accept-Encoding": "gzip, deflate",
    "Connection": "close",
    "Content-Length": "147",
    "Content-Type": "multipart/form-data; boundary=8bffc774646942deaa8a314f8675d879",
    "Host": "www.httpbin.org",
    "User-Agent": "python-requests/2.18.4"
    },
    "json": null,
    "origin": "183.230.42.10",
    "url": "http://www.httpbin.org/post"
    } [Finished in 1.0s]

Python基础笔记系列十二:requests模块的简单应用的更多相关文章

  1. Python基础笔记系列十:模块

    本系列教程供个人学习笔记使用,如果您要浏览可能需要其它编程语言基础(如C语言),why?因为我写得烂啊,只有我自己看得懂!! 模块 #1.类比于java中的jar包,模块能让你能够有逻辑地组织你的Py ...

  2. Python基础笔记系列十四:python无缝调用c程序

    本系列教程供个人学习笔记使用,如果您要浏览可能需要其它编程语言基础(如C语言),why?因为我写得烂啊,只有我自己看得懂!! python语言可以对c程序代码进行调用,以弥补python语言低性能的缺 ...

  3. Python基础笔记系列十一:标准输入输出、文件读写和指针等操作

    本系列教程供个人学习笔记使用,如果您要浏览可能需要其它编程语言基础(如C语言),why?因为我写得烂啊,只有我自己看得懂!! 标准输入输出一.输入 在sublime中这个时候需要安装SublimeRE ...

  4. Python基础笔记系列一:基本工具与表达式

    本系列教程供个人学习笔记使用,如果您要浏览可能需要其它编程语言基础(如C语言),why?因为我写得烂啊,只有我自己看得懂!! 工具基础(Windows系统下)传送门:Python基础笔记系列四:工具的 ...

  5. (Python基础教程之十二)Python读写CSV文件

    Python基础教程 在SublimeEditor中配置Python环境 Python代码中添加注释 Python中的变量的使用 Python中的数据类型 Python中的关键字 Python字符串操 ...

  6. python学习笔记(十二)python操作redis

    1.python要操作redis 首先需要安装redis模块,然后导入才能使用 安装:pip install redis 导入:import redis 2.连接redis r = redis.Red ...

  7. python学习笔记:网络请求——requests模块

    上面讲过的urllib模块太麻烦了,还有一个比较方便的模块,就是requests模块,好用到你怀疑人生·^_^,一定要会哦 需要安装,pip install requests即可,下面是request ...

  8. Python基础笔记系列二:分支和循环

    本系列教程供个人学习笔记使用,如果您要浏览可能需要其它编程语言基础(如C语言),why?因为我写得烂啊,只有我自己看得懂!! 分支:即是if-else和if-elif-else语句 循环:即是whil ...

  9. python学习笔记-(十二)scoket编程基础

    socket通常也称作"套接字",用于描述IP地址和端口,是一个通信链的句柄,应用程序通常通过"套接字"向网络发出请求或者应答网络请求. socket起源于Un ...

随机推荐

  1. [golang]内存不断增长bytes.makeSlice

    ------------------------------------------ 2015.7月更新 后面发现这里其实有一个sb的问题,在于内存回收和释放. 每个http请求,都会带一个http. ...

  2. MySQL存储引擎与事务

    1.作用 和磁盘的数据打交道 2.简介 MySQL  基于存储引擎管理 表空间数据数据文件 3.种类 Innodb存储引擎ibd:存储表的数据行和索引frm:表基本结构信息Myisam存储引擎frmm ...

  3. java 多线程 day13 condition 线程通信

    /** * Created by chengtao on 17/12/5. * Condition 类似 wait和notify,解决线程间的同步问题 */ import java.util.conc ...

  4. 最长上升子序列算法(n^2 及 nlogn) (LIS) POJ2533Longest Ordered Subsequence

    问题描述: 一个数的序列bi,当b1 < b2 < ... < bS的时候,我们称这个序列是上升的.对于给定的一个序列(a1, a2, ..., aN),我们可以得到一些上升的子序列 ...

  5. 谷歌浏览器不能打开本地HTML文件

    打开浏览器右上角菜单——>更多工具——>扩展程序——>将Axure RP Extension For Chrome 0.62.crx文件拖入——>成功后,勾选相关选项 文件的下 ...

  6. mysql 锁相关的视图(未整理)

    mysql 锁相关的视图 查看事务,以及事务对应的线程ID   如果发生堵塞.死锁等可以执行kill  线程ID  杀死线程      kill  199 SELECT * FROM informat ...

  7. 随堂小测app(nabcd)

    N 现在,老师想要组织测验,需要提前印制试卷,费时费力,考勤采取传统的点名的方式,过程繁琐且结果水分大. 而随堂小测app通过在线答题,智能定位可以帮助老师掌握学生对知识的掌握程度,了解学生的到客情况 ...

  8. python中的内置函数总结

    官方文档 一. 数学函数 #abs() 绝对值 #bin() 二进制 0b #oct() 八进制 0o #hex() 十六进制 0x #complex 复数 x=1-2j print(x) print ...

  9. 08 网络配置、shh服务、bash命令和元字符

    作业一:完成作业未做完的集群架构作业二:临时配置网络(ip,网关,dns)+永久配置 作业三:为集群内的机器设定主机名,利用/etc/hosts文件来解析自己的集群中所有的主机名,相应的,集群的配置应 ...

  10. 跨域问题-nginx代理

    有时候我们跨域是借助了浏览器对 Access-Control-Allow-Origin 的支持.但有些浏览器是不支持的,所以这并非是最佳方案现在我们来利用nginx 通过反向代理 满足浏览器的同源策略 ...