最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
Python调用REST API接口的几种方式代码
时间:2020-10-19 编辑:袖梨 来源:一聚教程网
本篇文章小编给大家分享一下Python调用REST API接口的几种方式代码,文章代码介绍的很详细,小编觉得挺不错的,现在分享给大家供大家参考,有需要的小伙伴们可以来看看。
下面是python中会用到的库。
- urllib2
- httplib2
- pycurl
- requests
urllib2
- Sample1
import urllib2, urllib github_url = 'https://api.github.com/user/repos' password_manager = urllib2.HTTPPasswordMgrWithDefaultRealm() password_manager.add_password(None, github_url, 'user', '***') auth = urllib2.HTTPBasicAuthHandler(password_manager) # create an authentication handler opener = urllib2.build_opener(auth) # create an opener with the authentication handler urllib2.install_opener(opener) # install the opener... request = urllib2.Request(github_url, urllib.urlencode({'name':'Test repo', 'description': 'Some test repository'})) # Manual encoding required handler = urllib2.urlopen(request) print handler.read()
- Sample2
import urllib2 url = 'http://ems.vip.ebay.com/removeSIforcloud.cgi?ip=' + ip req = urllib2.Request(url) req.add_header('IAF',abc.token_authiaas) try: resp = urllib2.urlopen(req) except urllib2.HTTPError, error: print "Cannot remove service instance!", error sys.exit(1) response = resp.read() print response
- Sample3
import urllib2, urllib, base64 url = "https://reparo.stratus.ebay.com/reparo/bootstrap/registerasset/" + rackid + "/" + asset data = urllib.urlencode({ 'reservedResource':'RR-Hadoop', 'resourceCapability':'Production', 'movetoironic':'False', 'output':'json' }) print "Bootstrap Asset jobs starting .............." base64string = base64.encodestring('%s:%s' % (user, passwd)).replace('n', '') request = urllib2.Request(url, data, headers={"Authorization" : "Basic %s" % base64string}) response = urllib2.urlopen(request).read() response_json = json.loads(response) response_status = response_json['status'] status_code = response_status['statusCode'] status = response_status['status'] message = response_status['message'] print status_code , status, message
2. httplib2
import urllib, httplib2 github_url = ' h = httplib2.Http(".cache") h.add_credentials("user", "******", " data = urllib.urlencode({"name":"test"}) resp, content = h.request(github_url, "POST", data) print content
3. pycurl
import pycurl, json github_url = " user_pwd = "user:*****" data = json.dumps({"name": "test_repo", "description": "Some test repo"}) c = pycurl.Curl() c.setopt(pycurl.URL, github_url) c.setopt(pycurl.USERPWD, user_pwd) c.setopt(pycurl.POST, 1) c.setopt(pycurl.POSTFIELDS, data) c.perform()
4. requests
import requests, json github_url = " data = json.dumps({'name':'test', 'description':'some test repo'}) r = requests.post(github_url, data, auth=('user', '*****')) print r.json
以上几种方式都可以调用API来执行动作,但requests这种方式代码最简洁,最清晰,建议采用。
相关文章
- Golang ProtoBuf的基本语法详解 10-20
- Python识别MySQL中的冗余索引解析 10-20
- Python+Pygame绘制小球代码展示 10-18
- Python中的数据精度问题介绍 10-18
- Python随机值生成的常用方法介绍 10-18
- python3解压缩.gz文件分析 09-27