python - JSONDecodeError("Expecting value", s, err.value) from None json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0) in POST request
问题描述
我正在开发一个集成支付网关的项目,我在其中创建了一个 JSON 字符串并传递 URL,当所有信息都正确时,它会生成一个支付链接。当我使用演示 URL 和演示数据时,它运行良好,但当我使用真实 URL 时,它会显示此错误。这是view.py:
def payment(request):
jsonObj={
"name": "name"
}
json_string = json.dumps(jsonObj)
print(json_string)
url = "https://url.something"
headers = {'Content-type': 'application/json', 'Accept':
'application/json'}
r = requests.post(url, data=json_string, headers=headers)
print(r.json())
j = r.json()['status']
k = r.json()['data']
if j == "200":
payment_id = k['payment_id']
redirect_url = k['redirect_url']
payment_link = str(redirect_url) + "?" + str(payment_id)
print(payment_link)
context = {
'payment_link': payment_link,
}
return render(request, 'users_dashboard/payment.html', context)
return render(request, 'users_dashboard/product_rashid.html')
解决方案
我以这种方式更改了代码:
def payment(request):
url = "https://url.something"
headers = {'content-type': 'application/json', 'User-Agent': 'curl/7.47.1'}
jsonObj={
"name": "name"
}
post = requests.post(url, data=json.dumps(jsonObj), headers=headers)
print(post.status_code, post.reason)
j = post.json()['status']
k = post.json()['data']
if j == "200":
payment_id = k['payment_id']
redirect_url = k['redirect_url']
payment_link = str(redirect_url) + "?" + str(payment_id)
print(payment_link)
context = {
'payment_link': payment_link,
}
return render(request, 'users_dashboard/payment.html', context)
return render(request, 'users_dashboard/product_rashid.html')
推荐阅读
- python - OpenCV imread() 方法返回 None
- php - 定义有关 Player_HP 和 Damage 的变量
- c# - 从 DataTable 填充 DataGridViewComboBoxCell 不起作用
- python - 如何使用 pythonnet 在 python 侦听器中订阅 .NET 事件?
- mysql - 如何内连接两个其他内连接查询
- reactjs - 简单的引导按钮在 React 中不显示变体颜色
- php - 标题卡在屏幕中央
- python - 如何制作平滑的热图?
- haskell - Haskell 错误 - 由于使用“随机”而产生的不明确的类型变量“b0”
- python - matlab interp2函数用于Python上的图像插值?