Python 3.7中API端点URL传参时出现内部服务器错误求助
解决API GET请求出现内部服务器错误的问题
首先看你的代码,核心问题是错误用params参数处理URL路径里的占位符——requests的params是用来生成URL末尾的查询参数(比如?a=b&c=d),不是替换路径里的{version}这类变量的。路径变量得先替换到URL字符串里,再发起请求。
修正后的代码示例
import requests # 用format方法替换路径占位符 url = "https://abcd.eu/v{version}/lists/{list-id}/terms/{term-id}/preferred-name".format( version='1', list-id='102', term-id='103' ) headers = {'Accept': 'application/json'} # 发起请求,无查询参数时可省略params r = requests.get(url, auth=('ghfgdhg', 'hgdfhghd'), headers=headers) # 打印状态码辅助排查 print(f"响应状态码: {r.status_code}") print(r.text)
或者用更简洁的f-string写法:
import requests version = '1' list_id = '102' term_id = '103' url = f"https://abcd.eu/v{version}/lists/{list_id}/terms/{term_id}/preferred-name" headers = {'Accept': 'application/json'} r = requests.get(url, auth=('ghfgdhg', 'hgdfhghd'), headers=headers) print(f"响应状态码: {r.status_code}") print(r.text)
额外排查方向
- 确认
auth中的用户名和密码是否有效,无效认证可能触发服务器内部错误 - 检查
list-id和term-id是否为API系统内的合法资源ID,无效ID会导致服务器处理失败 - 可以用Postman等工具手动发起请求,验证API本身是否正常,排除代码层面问题
内容的提问来源于stack exchange,提问作者rshar
相关产品推荐
相关产品推荐

