有一个网站(使用 https 协议),我可以在网络浏览器中使用用户名和密码登录。现在我想写一个后端程序来模拟这个登录动作。怎么做?给我一些想法。
更新:还有很多 javascript ,是否可以使用 curl 来做这件事?curl是否可以提供js运行时环境?如果没有,如何解决javascript的事情?
几个月前我遇到了同样的问题,当时我使用phantomjs解决了这个问题。如果您是 Linux 用户并且熟悉 CLI,那么使用此工具非常容易。如果您是 Windows 或 Mac 用户,那么它也必须易于使用。
这是我以前写的一个示例 phantomjs 代码。这将加载一个网页和 local.js JavaScript 文件。之后我们可以编写普通的 JavaScript 代码来访问和操作 DOM。
var page = require("webpage").create();
page.open("http://localhost/localdir", function() {
page.includeJs("http://localhost/local.js",
function() {
var xml = page.evaluate(function() {
x = window.XML_VAR;
return x;
});
var json = page.evaluate(function() {
y = window.JSON_VAR;
return y;
});
var title = page.evaluate(function(){
z = document.getElementById("title").innerHTML;
return z;
});
console.log(json);
console.log(xml);
console.log(title);
phantom.exit()
});
});