无法登录到经过ESI身份验证的网站使用Python 3中的请求

时间:2014-07-10 14:44:02

标签: python http python-3.x login python-requests

我过去2天试图在food.com上登录我的帐户

url = "http://share.food.com/registration/login.esi"

以下是我从此网站获得的代码:

s = requests.Session()
other_url = 'http://www.food.com/recipe-finder/all/shrimp?pn=25'
p = dict(user = 'username', passwd = 'password')
r = s.get(url, params = p)
print(r.url)

这是url的输出 我得到了正确的网址 但是

r = requests.get(other_url, cookies = c, verify = False)
print(r.url)

返回food.com/recipe-finder/all/shrimp?layout=desktop&pn=1 这意味着我没有记录。 谢谢你的帮助!

1 个答案:

答案 0 :(得分:0)

我刚刚发现登录的网址是 url =“http://share.food.com/registration/login.esi

从这个页面,我发现登录表单有隐藏变量: 用户名 密码(密码类型) pwdtext(这是一个字符串类型,但不在表单中) 登录(显示为带有“登录”一词的按钮

仍在使用urlib.request或请求,我无法记录。我怎么知道?没有创建cookie,并且r.history为空

以下是HTML的一部分                          ...     

...

              < 输入id =“aim_Email”class =“email aimError”type =“email”placeholder =“”name =“username”>      ...      ...          < input id =“aim_Password”class =“password”type =“password”placeholder =“”maxlength =“20”name =“password”>     < 输入id =“pwdtext”class =“password”type =“text”maxlength =“20”name =“pwdtext”style =“display:none; ”> ...     < 输入class =“submit”type =“submit”name =“login”value =“登录”>      ...                     ...      ......