zoukankan      html  css  js  c++  java
  • Python学习笔记之——requests库

    requests库一个优雅而简单的用于Python的HTTP库,可以极大的简化我们发送http请求及获取响应的代码。

    requests是python的第三方库,所以使用之前需要先安装。

    1、安装之后就可导入requests模板使用

    import requests

    2、requests发送请求

    r = requests.get('https://github.com/timeline.json')
    r = requests.post("http://httpbin.org/post")
    r = requests.put("http://httpbin.org/put")
    r = requests.delete("http://httpbin.org/delete")
    r = requests.head("http://httpbin.org/get")
    r = requests.options("http://httpbin.org/get")

    3、传递 URL 参数

    有些请求是有参数的。比如 httpbin.org/get?key=val。 Requests 允许你使用 params 关键字参数,以一个字符串字典来提供这些参数。举例来说,如果你想传递 key1=value1 和 key2=value2 到 httpbin.org/get ,那么你可以使用如下代码:

    #coding:utf-8
    import requests
    payload = {'key1': 'value1', 'key2': 'value2'}
    r = requests.get("http://httpbin.org/get", params=payload)
    print r.url

    执行结果:

    http://httpbin.org/get?key2=value2&key1=value1

    注意字典里值为 None 的键都不会被添加到 URL 的查询字符串里。

    你还可以将一个列表作为值传入:

    #coding:utf-8
    import requests
    payload = {'key1': 'value1', 'key2': ['value2', 'value3']}
    r = requests.get('http://httpbin.org/get', params=payload)
    print r.url

    执行结果:

    http://httpbin.org/get?key2=value2&key2=value3&key1=value1

    4、响应内容

    举例:

    #coding: utf-8
    import requests
    #发请求和传参
    r = requests.get('https://api.github.com/user', auth=('user', 'pass'))
    #打印请求返回的status_code
    print r.status_code
    #打印请求返回的headers
    print r.headers
    #打印请求头里面的content-type
    print r.headers['content-type']
    #打印编码
    print r.encoding
    #打印请求返回的文本
    print r.text
    #将请求响应的json字符串转换成了python的dict
    print r.json()

    执行结果:

    403
    {'Status': '403 Forbidden', 'X-RateLimit-Remaining': 。。。。
    application/json; charset=utf-8
    utf-8
    {"message":"Maximum number of login attem。。。。。
    {u'documentation_url': u'https://developer.。。。。。

    上面的例子里,我们将响应的json字符串转换成了python的dict

    总结:

    官方中文文档说明:http://docs.python-requests.org/zh_CN/latest/user/quickstart.html

  • 相关阅读:
    所有选择器
    display:block、display:inline与displayinline:block的概念和区别
    jQuery 选择器
    JS日历制作获取时间
    HTML DOM 事件
    访问HTML元素(节点)
    HTML常用标签
    flask+mysql的Docker 部署
    docker(三)
    flask如何部署
  • 原文地址:https://www.cnblogs.com/pachongshangdexuebi/p/8515927.html
Copyright © 2011-2022 走看看