【发布时间】:2014-09-09 01:07:36
【问题描述】:
我正在尝试使用 POST 请求访问网站的 API,但它返回 HTML,我不知道为什么。
import urllib.request
url = 'https://matchbook.com'
loginReq = '"method": "/bpapi/rest/security/session", "params":{"username": "xxxxx","password": "xxxxx"}'
req = urllib.request.Request(url, loginReq.encode('utf-8'))
response = urllib.request.urlopen(req).read()
print (response)
这会返回一个 HTML 流,基本上表明我正在使用不受支持的 Internet Explorer 版本,我应该考虑升级到更新的版本。
我花了一些时间在网上查找,很难找到有关 Python 3 中的 get/post/put/delete 请求的任何详细信息,我发现的大多数有用信息都涉及使用 Python 中的“请求”模块2. 切换到 Python 2 会更容易吗?
这是他们在文档中提供的信息:
资源网址: 网址:matchbook.com URN:/bpapi/rest/security/session
示例请求: 发布/安全/会话 { “用户名”:“j_henry”, "密码": "**" }
示例响应: { “会话令牌”:“1418_1234567890”, “用户 ID”:1418, "account": { // 与 GET /account API 响应相同。 ... }
【问题讨论】:
标签: python api post python-3.x urllib