python - 如何使该网站将我的数组识别为有效 url 查询的一部分?
问题描述
编辑:以类似的方式,当我现在尝试使用发布请求登录他们的帐户时,返回的不是他们在他们的网站上建议的错误,而是实际上是“JSON 异常”。有没有办法调试这个,或者错误代码 500 完全无法处理?
我很清楚以前有人问过这个问题。可悲的是,在尝试提出的答案时,没有一个有效。我有一个非常简单的带有 urllib 的 Python 项目,而且我以前从未用 Python 进行过 Web 编程,我什至也不是 Python 的普通用户。我的朋友需要访问该站点的内容,但他们的用户友好型前端已关闭,我了解到他们有一个公共 API 来访问他们的内容。不知道自己在做什么,但很高兴尝试提供帮助并对挑战感兴趣,我已经非常缓慢地出发了。
请注意,我必须只使用标准 Python 库,以便任何完成的项目都可以轻松地通过电子邮件发送到他们的计算机并正常工作。
以下工作完全没有“originalLanguage”查询,但是在使用它时,API 已将其记录为数组值,无论我是用逗号分隔的东西,还是写“originalLanguage[0]”或“originalLanguage0”或任何东西我在网上看到的,这会从服务器创建错误消息:“预期数组值,但检测到字符串”或类似的内容。
我有什么办法让这个工作吗?因为它显然可以工作,否则 API 不会记录它。非常感谢。
如果它有帮助,当使用“[]”或“<>”或“{}”或任何我能想到的分隔符时,我的 IDE 没有将它识别为 URL 的一部分。
import urllib.request as request
import urllib.parse as parse
def make_query(url, params):
url += "?"
for i in range(len(params)):
url += list(params)[i]
url += '='
url += list(params.values())[i]
if i < len(params) - 1:
url += '&'
return url
base = "https://api.mangadex.org/manga"
params = {
"limit": "50",
"originalLanguage": "en"
}
url = make_query(base, params)
req = request.Request(url)
response = request.urlopen(req)
解决方案
推荐阅读
- javascript - 塔防方向变化
- azure - 为 Power BI 容量挂起获取 Azure oauth 令牌
- google-bigquery - BigQuery 问题 - 使用路径表进行归因建模
- laravel - Doctrine Serializer:使用组的问题
- c# - 从另一个进程内存地址读取字符串
- python - 使用python读取qt的ui文件时出现路径错误
- spring - Spring Data Elasticsearch changeStream 功能(如 mongo changeStream)
- javascript - 即使没有解析,Promise.All 是一种以并行方式运行多个方法的方法吗?
- blazor - Blazor -- 从布局组件访问全局变量
- python - “传递性仅适用于简单图形” igraph 中的 InternalError