【问题标题】:API: Calling URL using curl in PythonAPI:在 Python 中使用 curl 调用 URL
【发布时间】:2020-02-29 13:54:03
【问题描述】:

我正在尝试在我的 python 脚本中使用链接缩短服务,但他们的 API documentation 是 JSON(使用 curl 调用 URL)。我是初学者,所以我不知道如何实现它。

【问题讨论】:

  • 查看python的subprocess模块

标签: python json api url curl


【解决方案1】:

鉴于所提供文档的第一个示例,您可以像这样简单地使用 requests 模块:

import requests

data = '{"username":"<Username or email>","password":"<Password>"}' #equal to: -d '{"url":"<Some URL>"}'

response = requests.get('https://www.capsulink.com/api/login', data=data)

其他一切都可以由此构建。

编辑

使用requests请求缩短链接:

import requests

header = {"Api-Key": "<Some API key>"} #equal to: -H 'Api-Key: <Some API key>'

data = '{"url": "<Some URL>"}' #equal to: -d '{"url":"<Some URL>"}'

response = requests.get('https://www.capsulink.com/api/capsulate', headers=header, data=data)

只需将"&lt;Some API key&gt;" 替换为您需要的API 密钥,将"&lt;Some URL&gt;" 替换为您感兴趣的相应网址。

【讨论】:

  • 这很有帮助,而且很重要!你能告诉我如何获得缩短的链接吗? (可能是文档中的第二个示例)。非常感谢!!
  • @Lolee 我希望这就是你要找的。​​span>
【解决方案2】:

您可以使用非常流行的名为 requests 的 Python 库。 Here 是带有示例的官方文档。

>>> import requests

>>> r = requests.get('https://api.github.com/events')
>>> r.json()
[{u'repository': {u'open_issues': 0, u'url': 'https://github.com/...

【讨论】:

    【解决方案3】:

    您可以使用 Python 请求模块 (https://github.com/psf/requests/) 来帮助您进行 API 查询。实施起来简单快捷。

    >>> 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, ...}
    

    参考这里的模块定义:https://requests.kennethreitz.org/en/master/

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-12-04
      • 2022-11-09
      相关资源
      最近更新 更多