2013-01-12 102 views
-2

可能重复:
How to “log in” to a website using Python’s Requests module?如何登录到网站与Python

我在Python 3.2.3编写的应用程序,我不知道如何登录到一个网站。我需要登录...并保存cookie(我认为),但我尝试过的所有内容都不起作用。

我试过Requests,但没有运气。我的网页正在本地主机上运行(这只是简单的登录表单)。

FORM: 
    <form method="post" action=""> 
      <input type="text" name="uname" placeholder="Uporabnisko ime:"/> 
      <input type="password" name="password" placeholder="Geslo:"/> 
      <input type="submit" value="Send"/> 
    </form> 

的Python:

import requests 
payload = {'uname': 'name', 'password': 'pswd123'} 
r = requests.post('http://localhost/python', data=payload) 

这什么也不做。如何发布名称和用户名.. 感谢您的回复。

+1

你能在你面对错误扩大?由于你在localhost上运行的网站,我建议找到一种方法来从服务器获取一些调试信息。 – TimD

+0

如果我登录,我的SQL脚本将保存到数据库的东西..在那里我看到,我的Python脚本不适用于登录。如果我把我的网站放在互联网上,它是一样的。所以我认为这不是本地主机上的问题。 我不太明白这个字典,是HTML表单的关键ID吗? 而.. requests.post()的结果是什么?如何查看我是否已成功登录? – What

回答

3

告诉蟒蛇请求“在一个登录会话保留饼干”,使用requests.session

import requests 
session = requests.session 
payload = {'uname': 'name', 'password': 'pswd123'} 
r = session.post('http://localhost/python', data=payload) 
r = session.get('http://localhost/authenticated/resource') 
# ^^^^^^^ 
+0

如何查看我是否成功登录并保存了会话? – What

+0

您可以检查'session.post'的返回值,就像其他任何请求一样,查看响应状态或内容是什么,或者是否以意外的方式重定向。 – SingleNegationElimination

+0

我已经成功地在..但后来我的会议不见了..我可以得到记录的源代码,但如果我做了什么,然后我的会议消失了。 – What