2

我是 python 的新手,并试图编写一个脚本来登录http://ryushare.com/login.python的页面。

我尝试了很多尝试,但它无法登录,我不知道为什么。登录页面后希望得到http://ryushare.com/file-manager.python的返回

这是我尝试通过阅读其他人的示例来尝试的代码。

import urllib, urllib2, cookielib
username = 'myusername'
password = 'mypassword'

cj = cookielib.CookieJar()
opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cj))
login_data = urllib.urlencode({'login' : username, 'password' : password})
opener.open('http://www.ryushare.com/login.python', login_data)
resp = opener.open('http://ryushare.com/file-manager.python')
print resp.read()

我检查了登录页面的源代码,它说用户名和密码值为“登录名和密码”,所以我更改了它。我尝试了其他一些可以在此处找到的示例,例如谷歌新闻提要,它也无法登录:(

4

1 回答 1

1

在页面的源代码中,我们有以下 HTML:

<form method="POST" action="http://ryushare.com/" name="FL">

您应该打开()“操作”页面,例如

opener.open('http://ryushare.com/", login_data)
# Now you can interact with site

http://www.w3schools.com/html/html_forms.asp

提交按钮

<input type="submit" />定义一个提交按钮。

提交按钮用于将表单数据发送到服务器。数据被发送到表单的 action 属性中指定的页面。action 属性中定义的文件通常对接收到的输入做一些事情:

<form name="input" action="html_form_action.asp" method="get">
Username: <input type="text" name="user" /> <input type="submit"
value="Submit" /> </form>

上面的 HTML 代码在浏览器中的外观:

用户名:(输入框)

如果您在上面的文本字段中键入一些字符,然后单击“提交”按钮,浏览器会将您的输入发送到一个名为“html_form_action.asp”的页面。该页面将向您显示收到的输入。

编辑:其他表格数据

从评论中可以看出,OP 在应用此修复程序后仍然遇到问题。答案是经常有隐藏的表单标签,包括提交按钮。在您的请求中包含这些标签的数据以及您的用户名和密码。

于 2012-07-10T03:13:50.003 回答