
模拟登录,用的 php 的 guzzle,抓包这个 url,没发现什么特殊的地方,用 guzzle 和 curl 模拟,cookie 和 header 都试过了,始终返回 302,用浏览器直接访问都是一直循环 302,下面他代码里面访问这个 url 的 js ajax 写法,求分析,谢谢。
/* * 文件名: sso.js * 描述: 提供对 CAS 单点登录的封装 * * 功能说明: * 实现多个应用之间的单点登录( SSO )功能,应用可以部署在不同的域名。容器的退出直接写在头里,避免 JS 过多加载 * * 版本: 1.0.0.1 * 作者: [email protected] * 日期:2013/10/20 */ $.ajax({ url: loginURL, type: "GET", dataType: 'jsonp', jsonp: "callback", data: params, crossDomain: true, cache: false, success: function (html) { html = $.trim(html).replace(/\t/g, ''); var resultobj = eval("("+html+")"); if (resultobj.result && resultobj.result == "success") { if (parseInt(resultobj.code) == 1000 && (!retry)) { //try again _this._realCasLogin(callback, params, true); return; } //Ajax to service if (resultobj.data && resultobj.data.st) { _this._serviceLogin(callback, params.username, params.password, resultobj.data.st); return; } } _this._callback(callback, resultobj); }, error: function (data) { var resultobj = {result: "fail", code: "-1", data: "登录 CAS 失败,出现异常!"}; _this._callback(callback, resultobj); } });