zoukankan      html  css  js  c++  java
  • Python中http请求方法库汇总

    最近在使用python做接口测试,发现python中http请求方法有许多种,今天抽点时间把相关内容整理,分享给大家,具体内容如下所示:

    一、python自带库----urllib2

    python自带库urllib2使用的比较多,简单使用如下:

    import urllib2

    response = urllib2.urlopen('http://localhost:8080/jenkins/api/json?pretty=true')

    print response.read() 

    简单的get请求

    import urllib2

    import urllib

    post_data = urllib.urlencode({})

    response = urllib2.urlopen('http://localhost:8080/, post_data)

    print response.read()

    print response.getheaders() 

    这就是最简单的urllib2发送post例子。代码比较多

    二、python自带库--httplib

    httplib是一个相对底层的http请求模块,urlib就是基于httplib封装的。简单使用如下:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    import httplib
    conn = httplib.HTTPConnection("www.python.org")
    conn.request("GET""/index.html")
    r1 = conn.getresponse()
    print r1.status, r1.reason
    data1 = r1.read()
    conn.request("GET""/parrot.spam")
    r2 = conn.getresponse()
    data2 = r2.read()
    conn.close()

    简单的get请求

    我们再来看post请求

    1
    2
    3
    4
    5
    6
    7
    8
    9
    import httplib, urllib
    params = urllib.urlencode({'@number'12524'@type''issue''@action''show'})
    headers = {"Content-type""application/x-www-form-urlencoded""Accept""text/plain"}
    conn = httplib.HTTPConnection("bugs.python.org")
    conn.request("POST", "", params, headers)
    response = conn.getresponse()
    data = response.read()
    print data
    conn.close()

    是不是觉得太复杂了。每次写还得再翻文档,看看第三种吧

    三、第三方库--requests

    发请get请求超级简单:

    1
    print requests.get('http://localhost:8080).text

    就一句话,再来看看post请求

    1
    2
    3
    payload = {'key1''value1''key2''value2'}
    = requests.post("http://httpbin.org/post", data=payload)
    print r.text

    也很简单。

    再看看如果要认证:

    1
    2
    3
    4
    5
    url = 'http://localhost:8080'
    = requests.post(url, data={}, auth=HTTPBasicAuth('admin''admin'))
    print r.status_code
    print r.headers
    print r.reason

    是不是比urllib2更简单多了吧,且requests自带json解析。这点非常棒

    python中的http请求 

    1
    2
    3
    4
    5
    import urllib
    params = urllib.urlencode({key:value,key:value})
    resultHtml = urllib.urlopen('[API or 网址]',params)
    result = resultHtml.read()
    print result
  • 相关阅读:
    Oracle 11g数据库详解
    1.Oracle数据库查看用户锁表和对表解锁的sql语句
    ORACLE性能优化- Buffer cache 的调整与优化
    excel数据生成sql insert语句
    Python_二叉树
    Python_自定义栈
    Python_内置四种队列
    Python_重写集合
    python_pycharm下拉前置标示
    python_形参何时影响实参
  • 原文地址:https://www.cnblogs.com/chenjingyi/p/5740341.html
Copyright © 2011-2022 走看看