在不使用 python requests 模块的情况下进行此 API 调用的最佳替代方案是什么?

Rad*_*ard 5 python get jira request

我有一个函数,可以向 JIRA REST API 发出 GET 请求,以获取 JIRA 票证的 JSON 对象。

它使用请求模块。但我不想再使用它,因为每当我想让其他人运行我的脚本时,他们都需要跳过火圈才能获取请求模块,因为他们位于公司代理后面,并且没有时间放置在额外的工作中。

因此,我宁愿用其他东西替换 requests 模块,而不是要求人们做一些他们没有耐心或时间做的事情,这样这个脚本更像是一个开箱即用的解决方案。

这是我现在所拥有的:

import requests
import pprint


def pull_jira_info(jira, user, pw, url):
    """
    Arguments:
        jira - the JIRA issue number
        url - the first part of the JIRA server url
        user - JIRA username
        pw - JIRA password
    """
    url += '/rest/api/2/issue/' + jira
    r = requests.get(url, auth=(user, pw), verify=False)
    jira_info = r.json()
    pprint.pprint(jira_info)
    return jira_info
Run Code Online (Sandbox Code Playgroud)

我的猜测是,我可以将 requests 模块与其他执行 GET 请求的模块(内置于 python 中)进行简单的交换,而无需更改太多代码。

有没有人有一个简单的方法,而不是请求模块?在我当前的功能中实现时会是什么样子?

Dor*_*hen 0

你可以使用本机Python urllibWhat is the fastest way to HTTP GET in Python?

但我建议建立一个内部Python包存储库:https://packaging.python.org/guides/hosting-your-own-index/。这将允许您使用任何您想要的包,包括 JIRA Python 包:https://github.com/pycontribs/jira