17.11.28日报

来源:互联网 发布:centos系统安装教程 编辑:程序博客网 时间:2024/05/17 02:12

1,终于找到bing切不会国内版的原因。在e005d768.js这文件的r(n, 函数,会分离出cookie的ENSEARCH、BENVER字段,然后判断当前是不是国际版。

这个字段是主html的SwitchTabV2函数里面每次切换页面时候写到cookie的。

var SwitchTabV2; (function() {
    function e() {
        return typeof Log != "undefined" && Log !== null && typeof Log.Log != "undefined"
    }
    function o() {
        var r = sj_cook.get(n, t);
        r && r == "1" && (i = "0", sj_cook.set(n, t, i, !0, "/"), e() && Log.Log("DHTMLClick", "EnglishSearch_SwitchTab", "SwitchToChinese", !1), _w.location.search = EnglishSearchShared.RemoveParameter(f))
    }
    function s() {
        var r = sj_cook.get(n, t);
        r && r == "1" || (i = "1", sj_cook.set(n, t, i, !0, "/"), e() && Log.Log("DHTMLClick", "EnglishSearch_SwitchTab", "SwitchToEnglish", !1), _w.location.href = EnglishSearchShared.SetParameter(f, "1"))
    }
    function h() { (u = _ge("est_en"), r = _ge("est_cn"), u && r) && (EnglishSearchShared.SetCookieByUrlParameter(f, n, t, !0), sj_be(u, "click",
        function() { // !!!!
            s()
        }), sj_be(r, "click",
        function() {
            o()
        }))
    }
    var r, u, n = "ENSEARCH",
    t = "BENVER",
    i, f = "ensearch";
    h()
})(SwitchTabV2 || (SwitchTabV2 = {}));


那么问题来了,miniblink使用的webkit的cookie解析代码,有两个问题:

1,对于设置进来的domain=bing.com,因为没加点号".",所以下次获取cookie的时候获取不到这个ENSEARCH=BENVER=1

2,对于ENSEARCH=BENVER=1这种写法识别有问题,识别成ENSEARCH=BENVER了。