前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python实现http请求的方法

Python实现http请求的方法

作者头像
水煮麥楽雞
发布2022-11-20 15:15:35
1.7K0
发布2022-11-20 15:15:35
举报
文章被收录于专栏:Find­My­FUNFind­My­FUN

最近在使用python做接口调用同步数据,发现python中http请求方法有很多种,现汇总如下:

1. python自带库 —— urllib2

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

get请求

代码语言:javascript
复制
    import urllib2
    response = urllib2.urlopen('http://localhost:8080/api')
    print response.read()

post请求

代码语言:javascript
复制
    import urllib2
    import urllib
    post_data = urllib.urlencode({})
    response = urllib2.urlopen('http://localhost:8080/, post_data)
    print response.read()
    print response.getheaders()

2. python自带库 —— httplib

httplib是一个相对底层的http请求模块,urlib就是基于httplib封装的。

get请求

代码语言:javascript
复制
    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()

post请求

代码语言:javascript
复制
    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()

3. 第三方库 —— requests

推荐使用,发送get/post请求超级简单、功能丰富,最重要的是自带json解析!

get请求

代码语言:javascript
复制
    import requests
    print requests.get('http://localhost:8080').text

post请求

代码语言:javascript
复制
    import requests
    payload = {'key1': 'value1', 'key2': 'value2'}
    r = requests.post('http://httpbin.org/post', data=payload)
    print r.text

需要认证的post请求

代码语言:javascript
复制
    import requests
    url = 'http://localhost:8080'
    r = requests.post(url, data={}, auth=HTTPBasicAuth('admin', 'admin'))
    print r.status_code
    print r.headers
    print r.reason

版权属于:。。。源

本文链接:https://cloud.tencent.com/developer/article/2169636

转载时须注明出处及本声明。我的博客即将同步至腾讯云开发者社区,邀请大家一同入驻:https://cloud.tencent.com/developer/support-plan?invite_code=2py75w7904qok

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2021-07-20,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1. python自带库 —— urllib2
    • get请求
      • post请求
      • 2. python自带库 —— httplib
        • get请求
          • post请求
          • 3. 第三方库 —— requests
            • get请求
              • post请求
                • 需要认证的post请求
                相关产品与服务
                云开发 CloudBase
                云开发(Tencent CloudBase,TCB)是腾讯云提供的云原生一体化开发环境和工具平台,为200万+企业和开发者提供高可用、自动弹性扩缩的后端云服务,可用于云端一体化开发多种端应用(小程序、公众号、Web 应用等),避免了应用开发过程中繁琐的服务器搭建及运维,开发者可以专注于业务逻辑的实现,开发门槛更低,效率更高。
                领券
                问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档