亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

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

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

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

阿城市| 葫芦岛市| 罗甸县| 勃利县| 凉山| 开封市| 巴彦淖尔市| 石家庄市| 边坝县| 肥城市| 满洲里市| 吴堡县| 桐庐县| 德阳市| 双江| 齐齐哈尔市| 红原县| 久治县| 新沂市| 阳谷县| 崇阳县| 津市市| 虞城县| 钦州市| 黄石市| 庆安县| 静海县| 开远市| 衡阳县| 辽中县| 正定县| 金堂县| 虹口区| 赣州市| 潞城市| 竹北市| 十堰市| 云霄县| 乐亭县| 上栗县| 镇原县|