js模拟登陆

JavaScript021

js模拟登陆,第1张

举个例子:

$(window).load(function() {

// 动画循环显示介绍图片

var showImg = function(iIndex) {

var strUrl = $("img.present").attr("url")

var aryUrl = strUrl.split(",")

var strSrc = $("img.present").attr("parent_src")

var strImgSrc = strSrc + "/" + aryUrl[iIndex]

$("img.present").attr("src", strImgSrc)

$("img.present").fadeIn(500, function() {

$("img.present").fadeTo(8000, 1, function() {

$("img.present").fadeOut(500, function() {

iIndex++

if (iIndex >= aryUrl.length) {

iIndex = 0

}

showImg(iIndex)

})

})

})

}

showImg(0)

// 是否记住用户名

var strIsRemember = getCookie("customer_isRemember")

if (strIsRemember == "true") {

// 设置上次登录的密码

var strUserName = getCookie("customer_UserName")

$("input[name=userName]").val(strUserName)

$("input[name=isRememberUserName]").attr("checked", true)

} else {

$("input[name=userName]").val("")

$("input[name=isRememberUserName]").attr("checked", false)

}

})

// 表单提交时运行

var fnSubmit = function() {

fnRememberUserName()

return true

}

// 记住用户

var fnRememberUserName = function() {

var isRemember = $("input[name=isRememberUserName]:checked").val()

if (isRemember == "1") {

var strUserName = $("input[name=userName]").val()

setCookie("customer_UserName", strUserName)

setCookie("customer_isRemember", "true")

} else {

setCookie("customer_UserName", "")

setCookie("customer_isRemember", "false")

}

}

// 刷新安全验证码

var fnRefreshVerifyCode = function() {

var oImage = $("img.verifyCode.img126534893467")

oImage.attr("src", oImage.attr("url") + "&" + (new Date()))

}

// 这是从那singin方法中copy过来的,只要拼一下字符串,拼出url,用ajax提交就可以了

// 我copy过来的url是这个https://passport.csdn.net/ajax/accounthandler.ashx?t=log&u=xxxx&p=password&remember=0&f=http%3A%2F%2Fzhidao.baidu.com%2Fquestion%2F616465234235174812.html%3Fpush%3Dcore%26group%3D1%26qbl%3Dpush_question_0%26rprecommand%3Dc&rand=0.5584398012142628

var data = "u=" + csdn.val2(u)

        + "&p=" + csdn.val2(p)

        + "&remember=" + ($("#chkRemember").attr("checked") ? "1" : "0")

        + "&f=" + csdn.val2("f")

        //+ "&enc=1"

        + "&rand=" + Math.random()

    csdn.doing = true

    csdn.loading($("#aLogin")[0])

    $.ajax({

        url: csdn.acc_handler + "?t=log&" + data

, success: signin_back

, error: function (xhr) {

    signin_back(xhr.response)

}

    })

       NodeJS做爬虫也是很方便的。因为nodejs有HTTP模块直接可以使用,而且还有很多简单粗暴的库可以即拿即用。       首先,需要的库文件,       1、superagent 是个轻量的的 http 方面的库,就像jquery的post,和get一样,很简单。       2、cheerio 是一个服务端操作DOM的库,简直就是服务端的jquery。     好的,我们需要抓取某个网站的题目。如下图。这个系统下,及时是游客状态也是可以查看题目的,只是答案我们看不到。会显示我没有登录。现在我们有个需求,先抓取15页,根据URL的参数可以页数就是地址中 的P。并且要有本地cookie,获取cookie的方法,最简单的是,利用浏览器登录网站之后,在控制台直接打印document.cookie,得到之后,复制进txt文本。用fs模块读取并转换成字符串。在superagent请求时,把cookie传进去。好了,控制台已经不输出“未登录”,说明已经登录成功了。