Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/429.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 用Python控制SSL网站_Javascript_Python_Ssl_Web_Controls - Fatal编程技术网

Javascript 用Python控制SSL网站

Javascript 用Python控制SSL网站,javascript,python,ssl,web,controls,Javascript,Python,Ssl,Web,Controls,我正在尝试自动化获取我大学当前学生记录的过程。在浏览器中,这个过程包括输入我所在学院的URL,然后单击登录链接,然后在输入密码和用户名时,我会进入https://URLed页面。然后,从那里它是一个或两个以上的链接和阅读一些文本上的页面。现在,我的问题是,我该如何进行这项工作,但要以自动化的方式进行,这样我的记录就会显示在命令行上。我认为,URL中的https://表示它使用SSL。是否有某些库可以处理此问题?另外,登录页面上的“提交”按钮我很确定使用了JavaScript,同样,是否有库来处理

我正在尝试自动化获取我大学当前学生记录的过程。在浏览器中,这个过程包括输入我所在学院的URL,然后单击登录链接,然后在输入密码和用户名时,我会进入https://URLed页面。然后,从那里它是一个或两个以上的链接和阅读一些文本上的页面。现在,我的问题是,我该如何进行这项工作,但要以自动化的方式进行,这样我的记录就会显示在命令行上。我认为,URL中的https://表示它使用SSL。是否有某些库可以处理此问题?另外,登录页面上的“提交”按钮我很确定使用了JavaScript,同样,是否有库来处理这个问题

我肯定我的问题描述中遗漏了什么,所以如果您不理解我的问题或需要更多信息,请询问

另外,我对互联网协议不是很精通,而且我对Python也是新手。事实上,我开始为这个项目研究它。但是,我的C语言流利,我对C++很在行。 提前谢谢。
Michael,

您不必模仿在浏览器中执行的所有操作

首先。https/ssl没有问题,只要您不必验证它们(似乎您不必验证),它就会处理它们

第二。当您单击“提交”时,浏览器会向服务器发送一个包含您的用户名、密码和其他数据的请求。该请求的类型可能是POST。由于响应服务器可能会向您发送一个带有会话id的cookie。因此,您需要做的就是调查向服务器发出的请求的确切格式(例如使用FireBug),并从服务器的响应中获取cookie

第三,。只需使用cookie在站点上导航页面。也许会有帮助


另外,正如您所看到的,答案中有太多的“可能”字-确切的身份验证过程可能与上述不同,您必须自己进行调查。

Roman的答案是一个很好的建议:当您的脚本可以直接调用HTTP方法时,您通常不需要表现得像真正的用户


但是,如果您不习惯对站点所需的HTTP操作进行反向工程,那么另一种方法是使用一种模拟与web页面交互的工具。Selenium通常被web应用程序开发人员用来测试他们的应用程序,但它也可以用作现有网站的自动客户端。

您应该避免HTTPS的
urllib2
,因为它不验证证书(请参阅链接文档中的红框),这使得连接容易受到MITM攻击。(这同样适用于
httpclient
,除非您自己添加代码来验证证书。)类似pycurl的东西将是更好的选择。