您的当前位置:首页正文

python调用api接口有几种方式

2024-08-01 来源:骅佗教育

python调用api的几种方式:

1、urllib2

def run(self):
    username, password = getword()
    try:
        print "-"*12
        print "User:",username,"Password:",password
        req = urllib2.Request(sys.argv[1])
        passman = urllib2.HTTPPasswordMgrWithDefaultRealm()
        passman.add_password(None, sys.argv[1], username, password)
        authhandler = urllib2.HTTPBasicAuthHandler(passman)
        opener = urllib2.build_opener(authhandler)
        fd = opener.open(req)
        print "\t\n\nUsername:",username,"Password:",password,"----- Login successful!!!\n\n"           
        print "Retrieved", fd.geturl()
        info = fd.info()
        for key, value in info.items():
            print "%s = %s" % (key, value)
        sys.exit(2)
     except (urllib2.HTTPError, httplib.BadStatusLine,socket.error), msg: 
        print "An error occurred:", msg
        pass

相关推荐:《》

2、urllib

def dorequest(url, data = "", method = 'GET'):
    try: 
        if method == 'GET':
            response = urllib.request.urlopen(url, timeout=10).read()
        else:
            # use PUT/DELETE/POST, data should be encoded in ascii/bytes 
            request = urllib.request.Request(url, data = data.encode('ascii'), method = method)
            response = urllib.request.urlopen(request, timeout=10).read()
    # etcd may return json result with response http error code
    # http error code will raise exception in urlopen
    # catch the HTTPError and get the json result
    except urllib.error.HTTPError as e:
        # e.fp must be read() in this except block.
        # the e will be deleted and e.fp will be closed after this block
        response = e.fp.read()
    # response is encoded in bytes. 
    # recoded in utf-8 and loaded in json
    result = json.loads(str(response, encoding='utf-8'))
    return result
# client to use etcd
# not all APIs are implemented below. just implement what we want

3、pycurl

def put (url, data, headers={}):
    """Make a PUT request to the url, using data in the message body,
    with the additional headers, if any"""
    reply = -1 # default, non-http response
    curl = pycurl.Curl()
    curl.setopt(pycurl.URL, url)
    if len(headers) > 0:
        curl.setopt(pycurl.HTTPHEADER, [k+': '+v for k,v in headers.items()])
    curl.setopt(pycurl.PUT, 1)
    curl.setopt(pycurl.INFILESIZE, len(data))
    databuffer = StringIO(data)
    curl.setopt(pycurl.READFUNCTION, databuffer.read)
    try:
        curl.perform()
        reply = curl.getinfo(pycurl.HTTP_CODE)
    except Exception:
        pass
    curl.close()
    return reply

4、requests

import requests
>>> r = requests.get('https://api.github.com/user', auth=('user', 'pass'))
>>> r.status_code
200
>>> r.headers['content-type']
'application/json; charset=utf8'
>>> r.encoding
'utf-8'
>>> r.text
u'{"type":"User"...'
>>> r.json()
{u'private_gists': 419, u'total_private_repos': 77, ...}

骅佗教育还为您提供以下相关内容希望对您有帮助:

python怎么调用api接口

调用windows API的方式其实有两种,第一种是通过第三方模块pywin32。如果小伙伴安装了pip,可以通过pip安装pywin32 在命令行中运行pip pst查看是否安装了pywin32 如图 我们这里调用一个windows最基本的API,MessageBox,该接口可以显示一个对话框。这里小编就不过多介绍了,只简单的描述MessageBox接口,Messag...

使用Python请求示例API接口的用法

进阶篇:针对有一定经验的读者,深入解析如何更高效、更灵活地使用Python进行API请求,包括错误处理、数据解析等高级技巧。实战案例:通过具体的实例,展示如何在实际项目中应用所学知识,让你看到Python请求API的实战效果。这些资源将确保你对Python请求示例API接口的使用有全面而深入的理解,无论是初次接触还是...

如何调用webapi

1. Web API是一种基于Web的软件接口,它允许应用程序之间的通信和数据传输。为了调用Web API,通常需要使用HTTP协议发送请求,并接收返回的响应。HTTP请求可以使用多种方法,如GET、POST、PUT、DELETE等,具体使用哪种方法取决于API的设计和要求。2. 在调用Web API时,一般需要使用某种编程语言来实现HTTP...

python中api是什么意思

API,即应用程序编程接口,是一组规则和协议,允许不同的软件应用程序之间进行交互。在Python中,API可以是一个库、框架或操作系统提供的一组函数、模块和方法,开发者可以使用这些接口来实现特定的功能或操作。API的主要目的是简化复杂系统的使用,使得开发者能够利用现有的代码和资源来创建新的应用程序和服...

如何通过python调用新浪微博的API

1.下载SDK 使用python调用API的话,首先要去下一个Python的SDK,sinaweibopy 连接地址在此: http://michaelliao.github.com/sinaweibopy/ 可以使用pip很快的导入,github连接里的wiki也有入门的使用方法,很容易看懂。2.理解新浪微博的授权机制 在调用API之前,首先要搞懂什么叫OAuth 2,即新浪微博的...

python中怎样调用百度搜索的API接口?

百度搜索不用API接口,它是get请求,自己拼接就行了。打开百度搜索,随便搜索一个关键字,看地址栏就有get请求的参数。

编程:python怎么调用android的API?

platform-tools 目录运行命令:sudo ./adb install sl4a_r3.apk 安装不需要太多时间,很快完成,如果你看到“Success”,则表示你安装成功,否则请尝试重新安装。安同样方法,安装python_for_android_r1.apk。3、安装Python 回到虚拟器,点击 图标,进入程序菜单界面。4、import Android,即可调用各个类。

Python C语言API教程(四、Python内置容器C语言接口)

PyDictKeysObject在存储dk_indices的时候是以char数组的形式存储的,而使用时通过DK_ENTRIES宏强行转换成PyDictKeyEntry进行读取,这样做的好处是更节约内存。再讲下去要偏离我们的主题了,我们主题是介绍API,有机会会专门出一个专题介绍Python虚拟机。几个常用的API如下:更多API可以参考官方文档。Py...

python可以直接调用win32的api吗

1、说明 python可以调用win32的Api,是使用ctypes模块就可以调用win32的API函数。2、示例代码 import ctypesMessageBox = ctypes.windll.user32.MessageBoxWMessageBox(None, '我是python,我使用了win32 API :)', '提示', 0)3、执行结果 4、注意事项 要注意函数使用的参数,如果使用了带中文的字符串...

python可以直接调用win32的api吗

python是可以直接调用win32的api的 在SourceForge网站上,可以找打python win32api这个第三方扩展(Python for Windows Extensions),下载之后安装到电脑上,然后你的python安装目录就会多一个PythonWin这个快捷方式,打开然后写如下代码:import win32apiwin32api.MessageBox(0, 'hello', 'title')结果如下...