亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Python調(diào)用REST API接口的幾種方式匯總

 更新時間:2020年10月19日 11:54:04   作者:py3study  
這篇文章主要介紹了Python調(diào)用REST API接口的幾種方式匯總,幫助大家更好的利用python進行自動化運維,感興趣的朋友可以了解下

相信做過自動化運維的同學(xué)都用過REST API接口來完成某些動作。API是一套成熟系統(tǒng)所必需的接口,可以被其他系統(tǒng)或腳本來調(diào)用,這也是自動化運維的必修課。

本文主要介紹python中調(diào)用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

以上幾種方式都可以調(diào)用API來執(zhí)行動作,但requests這種方式代碼最簡潔,最清晰,建議采用。

以上就是Python調(diào)用REST API接口的幾種方式匯總的詳細內(nèi)容,更多關(guān)于Python調(diào)用REST API接口的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • 如何在VSCode下使用Jupyter的教程詳解

    如何在VSCode下使用Jupyter的教程詳解

    這篇文章主要介紹了如何在VSCode下使用Jupyter,本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-07-07
  • python下對hsv顏色空間進行量化操作

    python下對hsv顏色空間進行量化操作

    這篇文章主要介紹了python下對hsv顏色空間進行量化操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-06-06
  • python圖片指定區(qū)域替換img.paste函數(shù)的使用

    python圖片指定區(qū)域替換img.paste函數(shù)的使用

    這篇文章主要介紹了python圖片指定區(qū)域替換img.paste函數(shù)的使用,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-04-04
  • Python采集熱搜數(shù)據(jù)實現(xiàn)詳解

    Python采集熱搜數(shù)據(jù)實現(xiàn)詳解

    這篇文章主要為大家介紹了Python采集熱搜數(shù)據(jù)實現(xiàn)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-05-05
  • Python+Tkinter制作股票數(shù)據(jù)抓取小程序

    Python+Tkinter制作股票數(shù)據(jù)抓取小程序

    這篇文章主要為大家詳細介紹了如何實現(xiàn)一個Tkinter?GUI程序,完成無代碼股票抓取!文中的示例代碼講解詳細,快跟小編一起動手試一試吧
    2022-08-08
  • 用Python實現(xiàn)一個簡單的多線程TCP服務(wù)器的教程

    用Python實現(xiàn)一個簡單的多線程TCP服務(wù)器的教程

    這篇文章主要介紹了用Python實現(xiàn)一個簡單的多線程TCP服務(wù)器的教程,示例的運行環(huán)境為Windows操作系統(tǒng),需要的朋友可以參考下
    2015-05-05
  • OpenCV實現(xiàn)手勢虛擬拖拽的使用示例(附demo)

    OpenCV實現(xiàn)手勢虛擬拖拽的使用示例(附demo)

    本文主要介紹了OpenCV實現(xiàn)手勢虛擬拖拽的使用示例,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-11-11
  • kafka-python批量發(fā)送數(shù)據(jù)的實例

    kafka-python批量發(fā)送數(shù)據(jù)的實例

    今天小編就為大家分享一篇kafka-python批量發(fā)送數(shù)據(jù)的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-12-12
  • python利用opencv如何實現(xiàn)答題卡自動判卷

    python利用opencv如何實現(xiàn)答題卡自動判卷

    由于工作需要,最近在研究關(guān)于如何通過程序識別答題卡的客觀題的答案,所以下面這篇文章主要介紹了python利用opencv如何實現(xiàn)答題卡自動判卷的相關(guān)資料,需要的朋友可以參考下
    2021-08-08
  • Pygame庫200行代碼實現(xiàn)簡易飛機大戰(zhàn)

    Pygame庫200行代碼實現(xiàn)簡易飛機大戰(zhàn)

    本文主要介紹了Pygame庫200行代碼實現(xiàn)簡易飛機大戰(zhàn),文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-12-12

最新評論