• python restful api 编程--2017年4月6日


    python restful api 编程 
     
    【1】微博开放平台的RESTful API:open.weibo.com -> 文档 -> 调用样例及调试工具
    通过Linux命令行查看API返回结果:curl ip?参数
    json数据格式化工具:pro.jsonlint.com
     
    【2】RESTful的起源及设计理念
    Representational State Transfer
    一种软件架构风格,设计风格而不是标准,只是提供了一组设计原则和约束条件。
    它主要用于客户端和服务器交互类的软件。基于这个风格设计的软件可以更简洁,更有层次,更易于实现缓存等机制。
     
    【3】Python包管理工具:easy_instal和pip
    为一个应用创建一套“隔离”的Python运行环境:virtualenv
     
    pip安装使用方法:
    python get-pip.py
    pip install XXX
     
    virtualenv安装使用方法:
    easy_install virtualenv    
    mkdir myproject
    cd myproject
    virtualenv venv  
     source /root/myproject/venv/bin/activate 激活virtualenv 
    deactivate  关闭virtualenv 
     
    【4】Chrome开发者工具介绍
    Chrome浏览器中的各个选项卡:
    Network: 分析网站请求的网络情况、查看某一请求的请求头和响应头还有响应内容
    Elements:左侧就是对页面HTML结构的查看与编辑,右侧可以对元素的CSS进行查看与编辑修改
    Console: 在这个面板可以查看错误信息、打印调试信息(console.log())、写一些测试脚本,还可以当作Javascript API查看用
     
    【5】Python HTTP库Requests介绍
    介绍并演示Requests的get,post,put,delete方法
    介绍并演示Requests如何添加浏览器头
    介绍并演示Requests如何处理相应
     
    pip install requests
    import requests
     
    发送请求
    r = requests.get('https://github.com/timeline.json')
    响应内容
    r.text
    r.encoding
    r.json()
    使用 r.content 来找到编码,然后设置 r.encoding 为相应的编码。这样就能使用正确的编码解析 r.text
    from PIL import Image
    from io import BytesIO
    i = Image.open(BytesIO(r.content))以请求返回的二进制数据创建一张图片
    r = requests.get('https://github.com/timeline.json', stream=True)
    r.raw获取来自服务器的原始套接字响应
     
    传递 URL 参数
    payload = {'key1': 'value1', 'key2': 'value2'}
    r = requests.get("http://httpbin.org/get", params=payload)
    print(r.url)
     
    定制请求头
    url = 'https://api.github.com/some/endpoint'
    headers = {'user-agent': 'my-app/0.0.1'}
    r = requests.get(url, headers=headers)
     
    r.status_code
    r.raise_for_status()抛出异常
     
    HTTP 状态码
    200 ok - 成功返回状态,对应,GET,PUT,PATCH,DELETE.
    201 created - 成功创建。
    304 not modified - HTTP缓存有效。
    400 bad request - 请求格式错误。
    401 unauthorized - 未授权。
    403 forbidden - 鉴权成功,但是该用户没有权限。
    404 not found - 请求的资源不存在
    405 method not allowed - 该http方法不被允许。
    410 gone - 这个url对应的资源现在不可用。
    415 unsupported media type - 请求类型错误。
    422 unprocessable entity - 校验错误时用。
    429 too many request - 请求过多。
     
    追踪重定向(错误码为3开头)
    r.history
     
    超时时间
    requests.get('http://github.com', timeout=0.001)
  • 相关阅读:
    Linux的常用用法
    docker入门实践01
    airflow安装rest api插件发现airflow webserver服务不能启动的解决办法
    27.Spark中transformation的介绍
    1.Cloudera Manager安装
    win10系统不能ping通vmware虚假机解决办法
    在airflow的BashOperator中执行docker容器中的脚本容易忽略的问题
    AirFlow后台运行调度程序
    Airflow怎么删除系统自带的DAG任务
    airflow删除dag不在页面显示
  • 原文地址:https://www.cnblogs.com/jingbostar/p/6676693.html
Copyright © 2020-2023  润新知