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

与curl命令相当的python,它具有api标记basic auth[duplicate]

鲁烨
2023-03-14

我正在开发helpshift api,并试图找到一个准确的请求调用,该调用将返回问题元数据。我试过很多例子,但它总是返回401状态。

但是我能够让curl命令工作

提供给我的东西是:apikey,url,返回是json响应

工作的CURL命令是:

curl -X GET --header 'Accept: application/json' --header 'Authorization: Basic <base64_encoded_version_of_api_key_for_basic_auth>' '<helpshift_url>'

我尝试过的事情如下:

>>> api_key = "ABCDEFGH"
>>> issue = '<helpshift_url>'
>>> 
>>> r = requests.get( issue, auth = ( api,"" ))
>>> r.status_code
401
>>> 
>>> import base64
>>> api_new = base64.b64encode(api_key.encode("UTF-8"))
>>> 
>>> r = requests.get( issue, auth = ( api_new,"" ))
>>> r.status_code
401

我试图得到的是json响应

共有2个答案

凌照
2023-03-14

您需要使用标题:

>>> import base64
>>> api_new = base64.b64encode(api_key.encode("UTF-8"))
>>> 
>>> r = requests.get( issue, header="Authorization: Basic {}'.format(api_new))
裴育
2023-03-14

请求验证参数负责http基本验证。从我在代码中看到的情况来看,您希望修改头,而不是执行auth。

这是通过将headers dictheaders={'Authorization':api_new}作为r=requests传递给请求来完成的。获取(问题,标题=标题)

完整的代码

import base64
import requests

api_key = "ABCDEFGH"
issue = '<helpshift_url>'

api_new = base64.b64encode(api_key.encode("UTF-8"))
headers = {'Authorization': api_new}

r = requests.get( issue, headers=headers)


 类似资料:
  • 问题内容: 我在python解释器(RHEL 5.3上的python 2.4)上做了一些工作,突然发现自己处于似乎是“ vi命令模式”的地方。也就是说,我可以使用典型的vi键绑定编辑先前的命令,以h左移,以x删除… 我喜欢它-唯一的是,我不知道如何到达这里(也许是通过我导入的模块之一:pylab / matplotlib?)。 任何人都可以阐明如何在解释器中启用此模式吗? 问题答案: 在readl

  • 簇是在“我的地图”上创建的,但当标记具有相同的地址时,单击簇时,工具提示不会显示。我正在使用Gmaps标记聚类器。代码示例:`function initMap(){//map options var options={zoom:7,center:{lat:53.3938131,lng:-7.858913}}}var map=new google.maps.map(document.getEleme

  • 我有一个自动化的python脚本来检查DOM中的任何更改。我有一个有效的xpath: 但是它给了我比我需要的更多的输出,其中一些会导致错误。所以我想从xpath中获取我需要的抽象项目,所以我尝试使用这样的东西: 但它不起作用,所以甚至可以用这么多标记搜索xpath吗?

  • 问题内容: 首先,我已经看过几个文档,关于同一文档的stackoverflow问题。我在尝试运行命令时遇到了项目特定的问题: 从mac终端,我得到了所需的json格式数据。但是从Java代码运行相同的命令,控制台中出现Unauthorized 401错误。我的代码是: 我收到未经授权的401错误和一堆html标签。这似乎是一个重复性的问题,但我已经尝试了所有方法。我知道替代方法是使用http响应方

  • 问题内容: 我的任务是为开源应用程序编写身份验证组件。我们有一个使用的内部身份验证小部件。我有一些例子访问的代码,它使用来办理过户。 我的问题是,是否有to 的端口,或者更好的是,什么基本软件包将使我足够接近以处理任务? 更新 : 简而言之,我想在JAVA中复制的代码: 我认为您的目标是正确的,我认为我最终将使用HttpsURLConnection,然后从响应中选择所需的内容。 问题答案: 省略异

  • 问题内容: 我希望使用来自Node.js的HTTP请求中的信息(即调用远程Web服务并将响应回显到客户端)。 在PHP中,我会使用cURL来做到这一点。Node的最佳做法是什么? 问题答案: 有关完整示例,请参见HTTP模块的文档: https://nodejs.org/api/http.html#http_http_request_options_callback