首页 > 解决方案 > 通过 python 调用 curl API

问题描述

我正在使用 API 来获取发票信息,文档中显示的示例来自 Curl:

[HEAD] Authorization: Basic base64(Consumer Key:Consumer Secret) 
[HEAD] Content-Type: application/x-www-form-urlencoded 
[POST] grant_type=client_credentials

echo -n "djaR21PGoYp1iyK2n2ACOH9REdUb:ObRsAJWOL4fv2Tp27D1vd8fB3Ote" | base64

上面的代码返回这个字符串:ZGphUjIxUEdvWXAxaXlLMm4yQUNPSDlSRWRVYjpPYlJzQUpXT0w0ZnYyVHAyN0QxdmQ4ZkIzT3RlCg

curl -k -d "grant_type=client_credentials" \
-H "Authorization: Basic ZGphUjIxUEdvWXAxaXlLMm4yQUNPSDlSRWRVYjpPYlJzQUpXT0w0ZnYyVHAyN0QxdmQ4ZkIzT3RlCg" \
https://gateway.apiserpro.serpro.gov.br/token

我如何将其转换为 Python?

标签: pythonapicurlpost

解决方案


您可以使用以下内容:

import requests

headers = {
    'Authorization': 'Basic ZGphUjIxUEdvWXAxaXlLMm4yQUNPSDlSRWRVYjpPYlJzQUpXT0w0ZnYyVHAyN0QxdmQ4ZkIzT3RlCg',
}

data = {
  'grant_type': 'client_credentials'
}

response = requests.post('https://gateway.apiserpro.serpro.gov.br/token', headers=headers, data=data)

将 CURL 转换为 Python 请求的有用资源是:https ://curl.trillworks.com/


推荐阅读