python调用接口的4种方式代码实例
作者:-零 发布时间:2022-01-15 17:03:30
标签:python,调用,接口,方式
这篇文章主要介绍了python调用接口的4种方式代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
python中调用API的几种方式:
- urllib2
- httplib2
- pycurl
- requests
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 = '
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
以上几种方式都可以调用API来执行动作,但requests这种方式代码最简洁,最清晰,建议采用。
来源:https://www.cnblogs.com/-wenli/p/11238639.html


猜你喜欢
- 一、前言有两种应用场景需要用到数据生成器,一种是需要测试数据库性能,比如在100万条和1000万条记录的时候对比查询或更新语句执行耗时,一种
- 错误日志安装时出现了如下错误:SQL Server 2005 安装错误码29503。产品: Microsoft SQL Server 200
- 不知道大家在做页面的时候会不会遇到样式定义不生效的问题,基本的表现就是怎么改样式都没显示或只有某些浏览器正常,这时通常需要做下面的几步:确认
- 运算符运算符的作用是将操作数组合成表达式,比如下面的代码中,我们通过赋值和加号组成了两个表达式:var i,j = 1,2n := i +
- mysql优化了所以先说说这个,其实这个,很复杂,对于不同的网站,其在线,访问量,帖子数量,网络情况,以及机器配置都有关系,优化不是一次可以
- 对于各种语言的,函数与定义方法,大家可以区分下,利用以后的学习应用。由于篇幅有限,完整地址:http://demo.aspxhome.com
- 最近是有点忙,感觉好久没写博客了。但是最近看到一个有趣的就是gif动图的倒放,因为这个原理也并不是很难,而且用到的库以前也略微的看过一点点,
- 一). ubuntu下mysql安装布局:/usr/bin  
- 知识补充表单简介(来自Mr._Dang)action:提交的地址method:提交的方式 get: 参数是在url中的,不安全,传输量比较少
- 本文总结分析了MySQL查询优化的技巧。分享给大家供大家参考,具体如下:熟悉SQL语句的人都清楚,如果要对一个任务进行操作的话,SQL语句可
- 配置babel-plugin-import报错的坑用的是antd design vue生成的项目,按着官网的提示一步一步下来,在配置babe
- 1、场景1)用户输入完网址后,浏览器直接弹出需要输入用户名/密码PS:此时输入用户名密码即可登录,或者直接带着用户名密码访问网站。假设url
- pymsql是Python中操作MySQL的模块,其使用方法和MySQLdb几乎相同。但目前pymysql支持python3.x而后者不支持
- 我们小组讨论的话题是tab(标签)在使用时的禁忌。在讨论的开始,大家很快产生了六个感兴趣的话题:如何处理海量的tab?在浏览器中关掉tab之
- 本文实例讲述了PHP动态生成指定大小随机图片的方法。分享给大家供大家参考,具体如下:<?php$image_width = 100;$
- BIT[(M)]位字段类型。M表示每个值的位数,范围为从1到64。如果M被省略, 默认为1。TINYINT[(M)] [UNSIGNED]
- 简介在很多实际的项目开发中,我们需要实现很多实时功能;而在这篇文章中,我们就利用django channels简单地实现了点对点聊天和消息推
- python中的闭包从表现形式上定义(解释)为:如果在一个内部函数里,对在外部作用域(但不是在全局作用域)的变量进行引用,那么内部函数就被认
- Golang的接口是什么在 Golang 中,接口是一种类型,它是由一组方法签名组成的抽象集合。接口定义了对象应该具有的行为,而不关心对象的
- 在win7 64位,Anaconda安装的Python3.6.1下安装的TensorFlow与Keras,Keras的backend为Ten