[英]I keep receiving “NameError: name 'username' is not defined” error
我在通过python 2.7.11登录到在线帐户时遇到了很大的麻烦。 我花了很多时间试图找出答案,然后一遍又一遍地浏览我的短代码。 如果有人可以帮助我,我将是你谦卑的仆人。
我的代码是:
import requests
with requests.Session() as c:
url = "https://www.matchbook.com/bpapi/rest/security/session/"
login_data = {
username: "Marcel",
password: "*******"
}
c.post(url,data = login_data)
page = c.get("https://www.matchbook.com/bpapi/rest/security/session/")
print page.content
我得到的错误:
Traceback (most recent call last):
File "<stdin>", line 4, in <module>
NameError: name 'username' is not defined
我还尝试过将用户名和密码变量定义为变量,并将用户名和密码键放在字典中的反逗号中。
我得到的答复是:
<Response [415]>
{"errors":[{"messages":["Please login to continue"]}]}
任何帮助,请!
您可能的意思是:
login_data = {
"username": "Marcel",
"password": "*******"
}
您正在尝试查找变量username
并将其值用作键。 由于没有username
变量,因此会得到NameError
。
在c.post(url,data = login_data)
将data
更改为json
因为数据需要进行JSON编码,并且您完成处理的方式是表单编码。
对于旧版本的requests
,请使用data = json.dumps(login_data)
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.