博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Python调用API接口的几种方式
阅读量:5117 次
发布时间:2019-06-13

本文共 1527 字,大约阅读时间需要 5 分钟。

本文主要介绍python中调用API的几种方式,下面是python中会用到的库。
 
1.urllib2
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()
 
2. httplib2
import 
urllib, httplib2
github_url 
= 
'
= 
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"
})
= 
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'
})
= 
requests.post(github_url, data, auth
=
(
'user'
'*****'
))
print 
r.json
 
以上几种方式都可以调用API来执行动作,但requests这种方式代码最简洁,最清晰,建议采用。

转载于:https://www.cnblogs.com/xmalll/p/9774936.html

你可能感兴趣的文章
Codeforces 719B Anatoly and Cockroaches
查看>>
关于TFS2010使用常见问题
查看>>
聚合与组合
查看>>
ionic2+ 基础
查看>>
Screening technology proved cost effective deal
查看>>
【2.2】创建博客文章模型
查看>>
Jsp抓取页面内容
查看>>
大三上学期软件工程作业之点餐系统(网页版)的一些心得
查看>>
Java语言概述
查看>>
关于BOM知识的整理
查看>>
使用word发布博客
查看>>
面向对象的小demo
查看>>
微服务之初了解(一)
查看>>
GDOI DAY1游记
查看>>
MyBaits动态sql语句
查看>>
HDU4405(期望DP)
查看>>
拉格朗日乘子法 那些年学过的高数
查看>>
vs code 的便捷使用
查看>>
Spring MVC @ResponseBody返回中文字符串乱码问题
查看>>
用户空间与内核空间,进程上下文与中断上下文[总结]
查看>>