【发布时间】:2024-04-11 00:05:02
【问题描述】:
我正在使用 BullionVault API 查看我的订单。
我必须登录才能查看它。
我的问题是,当我尝试使用 HTTP 请求登录时,我的控制台输出是 BUllionVault 登录页面的 HTML DOM。
我使用官方文档中的请求 https://www.bullionvault.com/help/xml_api.html 和 python 语言。
我的登录请求:
payload2 = {'j_username': 'myusername', 'j_password': 'mypassword'}
requests.get("https://or.bullionvault.fr/secure/login.do", params=payload2)
我要求查看我的订单:
requests.get("https://or.bullionvault.fr/secure/view_orders_xml.do")
编辑:
感谢@Vikas,我更新了我的代码。
login_page_url = "https://or.bullionvault.fr/secure/login.do"
login_page_url2 = "https://live.bullionvault.com/secure/j_security_check"
payload2 = {'j_username': 'myusername', 'j_password': 'mypassword'}
with requests.Session() as s:
a = s.get(login_page_url)
print(s.cookies)
b = s.get(login_page_url2, params = payload2)
c = s.get("https://or.bullionvault.fr/secure/view_orders_xml.do")
print(a) #output status 200
print(b) #output status 200
print(c) #output status 200
print(c.text) #output HTML DOM
但是我仍然有我的问题:最后一个请求响应是登录页面的 HTML DOM。
解决方案:
Bullionvault 已将其 API 更新至 2.0 版。 我的代码中还缺少参数。
login_page_url = "https://or.bullionvault.fr/secure/login.do"
login_page_url2 = "https://live.bullionvault.com/secure/j_security_check"
payload2 = {'j_username': 'myusername', 'j_password': 'mypassword'}
payload3 = {'confirmed': 'true'}
payload4 = {'simple': 'true'}
with requests.Session() as s:
a = s.get(login_page_url)
b = s.post(login_page_url2, data = payload2)
c = s.get("https://live.bullionvault.com/secure/api/v2/view_orders_xml.do", params = payload3)
d = s.get("https://live.bullionvault.com/secure/api/v2/view_balance_xml.do", params = payload4)
【问题讨论】:
标签: python api get httprequest