Python基础笔记系列十二:requests模块的简单应用

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

  • httpbin

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

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

    二、使用python抓去百度主页

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

    三、get传参

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

    输出:

     1 http://www.httpbin.org/post
     2 {
     3   "args": {}, 
     4   "data": "", 
     5   "files": {}, 
     6   "form": {
     7     "cnblog": "hyyq", 
     8     "qq": "34782655"
     9   }, 
    10   "headers": {
    11     "Accept": "*/*", 
    12     "Accept-Encoding": "gzip, deflate", 
    13     "Connection": "close", 
    14     "Content-Length": "23", 
    15     "Content-Type": "application/x-www-form-urlencoded", 
    16     "Host": "www.httpbin.org", 
    17     "User-Agent": "python-requests/2.18.4"
    18   }, 
    19   "json": null, 
    20   "origin": "183.230.42.10", 
    21   "url": "http://www.httpbin.org/post"
    22 }
    23 
    24 [Finished in 1.3s]

    二、发送json数据
    例子:

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

    输出:

     1 http://www.httpbin.org/post
     2 {
     3   "args": {}, 
     4   "data": "{\"qq\": \"34782655\", \"cnblog\": \"hyyq\"}", 
     5   "files": {}, 
     6   "form": {}, 
     7   "headers": {
     8     "Accept": "*/*", 
     9     "Accept-Encoding": "gzip, deflate", 
    10     "Connection": "close", 
    11     "Content-Length": "36", 
    12     "Content-Type": "application/json", 
    13     "Host": "www.httpbin.org", 
    14     "User-Agent": "python-requests/2.18.4"
    15   }, 
    16   "json": {
    17     "cnblog": "hyyq", 
    18     "qq": "34782655"
    19   }, 
    20   "origin": "183.230.42.10", 
    21   "url": "http://www.httpbin.org/post"
    22 }
    23 
    24 [Finished in 1.0s]
  • 上传文件
    例子:
    1 #上传文件
    2 import requests
    3 # print help(requests)
    4 post_url = 'http://www.httpbin.org/post'
    5 files = {'file':open('yyc.txt','rb')} #这里rb是以读的方式用二进制格式打开
    6 r = requests.post(post_url,files=files)
    7 print r.content

    输出:

     1 {
     2   "args": {}, 
     3   "data": "", 
     4   "files": {
     5     "file": "data:application/octet-stream;base64,xOO6ww=="
     6   }, 
     7   "form": {}, 
     8   "headers": {
     9     "Accept": "*/*", 
    10     "Accept-Encoding": "gzip, deflate", 
    11     "Connection": "close", 
    12     "Content-Length": "147", 
    13     "Content-Type": "multipart/form-data; boundary=8bffc774646942deaa8a314f8675d879", 
    14     "Host": "www.httpbin.org", 
    15     "User-Agent": "python-requests/2.18.4"
    16   }, 
    17   "json": null, 
    18   "origin": "183.230.42.10", 
    19   "url": "http://www.httpbin.org/post"
    20 }
    21 
    22 [Finished in 1.0s]

     

转载于:https://www.cnblogs.com/hyyq/p/8976126.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
毕设新项目-基于Java开发的智慧养老院信息管理系统源码+数据库(含vue前端源码).zip 【备注】 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用!有问题请及时沟通交流。 2、适用人群:计算机相关专业(如计科、信息安全、数据科学与大数据技术、人工智能、通信、物联网、自动化、电子信息等)在校学生、专业老师或者企业员工下载使用。 3、用途:项目具有较高的学习借鉴价值,不仅适用于小白学习入门进阶。也可作为毕设项目、课程设计、大作业、初期项目立项演示等。 4、如果基础还行,或热爱钻研,亦可在此项目代码基础上进行修改添加,实现其他不同功能。 欢迎下载!欢迎交流学习!不清楚的可以私信问我! 毕设新项目-基于Java开发的智慧养老院信息管理系统源码+数据库(含vue前端源码).zip毕设新项目-基于Java开发的智慧养老院信息管理系统源码+数据库(含vue前端源码).zip毕设新项目-基于Java开发的智慧养老院信息管理系统源码+数据库(含vue前端源码).zip毕设新项目-基于Java开发的智慧养老院信息管理系统源码+数据库(含vue前端源码).zip毕设新项目-基于Java开发的智慧养老院信息管理系统源码+数据库(含vue前端源码).zip毕设新项目-基于Java开发的智慧养老院信息管理系统源码+数据库(含vue前端源码).zip毕设新项目-基于Java开发的智慧养老院信息管理系统源码+数据库(含vue前端源码).zip毕设新项目-基于Java开发的智慧养老院信息管理系统源码+数据库(含vue前端源码).zip毕设新项目-基于Java开发的智慧养老院信息管理系统源码+数据库(含vue前端源码).zip
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值