$ Django 调API的几种方式

Posted None

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了$ Django 调API的几种方式相关的知识,希望对你有一定的参考价值。

API调用方式

下面是python中会用到的库。
urllib2
httplib2
pycurl
requests
urllib2

#request
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这种方式代码最简洁,最清晰,建议采用。
#urllib2, urllib 
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() 
#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 
#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() 

 

以上是关于$ Django 调API的几种方式的主要内容,如果未能解决你的问题,请参考以下文章

django文件上传的几种方式

一张图,理顺 Spring Boot应用在启动阶段执行代码的几种方式

一张图,理顺 Spring Boot应用在启动阶段执行代码的几种方式

一张图,理顺 Spring Boot应用在启动阶段执行代码的几种方式

django的几种方法进行序列化(视图)

一张图帮你记忆,Spring Boot 应用在启动阶段执行代码的几种方式