如何在 Python 中通过身份验证从 URL 获取 CSV 文件

Posted

技术标签:

【中文标题】如何在 Python 中通过身份验证从 URL 获取 CSV 文件【英文标题】:How to get CSV file from URL with authentication in Python 【发布时间】:2022-01-11 07:13:56 【问题描述】:

我正在做一个关于 physionet 的项目。我也有 physionet 证书。 我正在尝试将 csv 文件直接放入我的 python 笔记本中,而不是将其下载到我的本地机器中。 我尝试了很多方法,但都给了我 403。 我也尝试过使用 User-Agent,但它没有用。 任何人都可以提出建议。

from requests.auth import HTTPDigestAuth
url = 'https://physionet.org/files/nch-sleep/3.1.0/'
requests.get(url, auth=HTTPDigestAuth('username', 'pass'))

++++++++++++++++++++++++++++

【问题讨论】:

403 表示禁止,而不是 401 表示未经授权。也许 URL 需要有效负载或参数。您可以使用相同的代码在本地计算机上获取 CSV 文件吗? 这些是您的实际凭据吗?如果是这样 - 你现在应该改变它们...... 【参考方案1】:

如果这是一个 html 登录,我认为除非您知道所有请求标头参数,否则即使您提供用户名和密码,您也无法模仿请求调用。如果您真的想为您的登录调用 API,您需要使用基本身份验证凭据和令牌以及响应令牌点击实际登录 api 端点,点击您的实际端点以读取您的 csv 文件。

【讨论】:

以上是关于如何在 Python 中通过身份验证从 URL 获取 CSV 文件的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 serilog 在 kibana 中通过身份验证将日志设置为 ELK

如何在 api 调用中使用异步等待获取在反应本机中通过基本身份验证

如何在 Spring Security 中通过 jdbc 身份验证使用自定义登录页面

如何在弹出窗口中通过 OAuth 2.0 向 Google 进行身份验证?

Spring 3.1 中通过 IP 地址进行身份验证:最聪明的方法是啥?

如何在 Python Paramiko 中通过 HTTP 代理 ssh?