当前位置: 首页 > 知识库问答 >
问题:

通过python调用curl API

於英朗
2023-03-14

我正在使用一个API来获取发票信息,文档中显示的de示例来自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

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

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

我如何转换这个做Python?

共有1个答案

邹阳
2023-03-14

您可以使用以下方法:

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/

 类似资料:
  • 问题内容: 如果我在字符串中有一个对象和一个方法名称,该如何调用该方法? 问题答案: 使用内置功能: 您还可以用于通过名称设置类属性。

  • 问题内容: 所以我想通过cython从c调用一些python代码。我设法从c调用cython代码。而且我还可以从cython调用python代码。但是,当我将它们全部加在一起时,会丢失一些东西。 这是我的python代码(): 这是我的cython“ bridge”(): 这是c代码(): 运行此命令时,出现以下异常: 我怀疑缺少的部分: 我还没打电话 我还没有 Cython没有产生任何东西- 不

  • 问题内容: 我正在这样发出Ajax请求: 在服务器端,我完成了一些如下代码: Ajax POST可以正常工作。我可以在mozilla的Web开发人员工具中看到,但是页面没有像我想象的那样重定向到其他页面。谁能告诉我我做错了什么? 还是无法通过Ajax 打电话? 问题答案: 是的,据我所知,您不能简单地从客户端检测重定向。 您可以做的一件事就是如何返回指示从服务器端代码进行重定向的内容。类似于以下J

  • 问题内容: 我试图使用以下命令从Java 6应用程序调用Jython : 这导致NullPointerException: 有人知道我在做什么错吗? 编辑: 感谢您的回复!我将jython.jar添加到类路径中,并且可以正常运行: 问题答案: 您必须先注册您的引擎。 来自:ScriptEngineManager.getEngineByName: […]首先搜索已注册为句柄的ScriptEngine

  • 我想 用 C 语言编写一个求和列表的函数,名为 sum_list.c 将 文件设为 sum_list.so 它在步骤4中引发错误: ctypes。ArgumentError:参数1::不知道如何转换参数1 当我用c编写一个函数,将两个数字相加时,它可以正常工作。 所以,重点是我不知道怎么把一个list (python对象)传递给c。 sum_list.c python代码 我希望我的 python

  • 问题内容: 我试图弄清楚如何从一些FORTRAN代码中重定向输出,我已经使用F2PY为它们生成了Python接口。我试过了: 这是在Python中重定向输出的事实上的方法,但是在这种情况下似乎不起作用(即,无论如何都会显示输出)。 我确实找到了2002年的邮件列表帖子,内容是“可以从pts设备读取消息,例如ttysnoop可以做到这一点”。关于ttysnoop的信息似乎很难在网上找到(我认为它已经

  • 如果反射值对象(reflect.Value)中值的类型为函数时,可以通过 reflect.Value 调用该函数。使用反射调用函数时,需要将参数使用反射值对象的切片 []reflect.Value 构造后传入 Call() 方法中,调用完成时,函数的返回值通过 []reflect.Value 返回。 下面的代码声明一个加法函数,传入两个整型值,返回两个整型值的和。将函数保存到反射值对象(refle

  • 13.4. 通过cgo调用C代码 Go程序可能会遇到要访问C语言的某些硬件驱动函数的场景,或者是从一个C++语言实现的嵌入式数据库查询记录的场景,或者是使用Fortran语言实现的一些线性代数库的场景。C语言作为一个通用语言,很多库会选择提供一个C兼容的API,然后用其他不同的编程语言实现(译者:Go语言需要也应该拥抱这些巨大的代码遗产)。 在本节中,我们将构建一个简易的数据压缩程序,使用了一个G