91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Python調用REST API接口的幾種方式

發布時間:2020-06-21 10:14:17 來源:網絡 閱讀:18259 作者:Mark_L_Zhang 欄目:編程語言

本文主要介紹python中調用REST API的幾種方式,下面是python中會用到的庫。

- urllib2

- httplib2

- pycurl

- requests?


  1. urllib2

    - Sample1

1
2
3
4
5
6
7
8
9
10
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

1
2
3
4
5
6
7
8
9
10
11
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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
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

1
2
3
4
5
6
7
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

1
2
3
4
5
6
7
8
9
10
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

1
2
3
4
5
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這種方式代碼最簡潔,最清晰,建議采用。


轉自:?https://blog.51cto.com/haohaozhang/1668761


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

新和县| 曲阳县| 革吉县| 翁牛特旗| 无锡市| 吴江市| 紫云| 上犹县| 涟水县| 宾川县| 公主岭市| 大兴区| 绥江县| 南岸区| 梁山县| 朝阳市| 宝兴县| 乃东县| 沽源县| 三门县| 贺州市| 北海市| 黑龙江省| 平和县| 广平县| 盐边县| 原阳县| 武宁县| 外汇| 新兴县| 云阳县| 泌阳县| 车致| 永城市| 兴和县| 财经| 克拉玛依市| 安义县| 攀枝花市| 伊金霍洛旗| 德钦县|