日期:2014-05-17  浏览次数:20469 次

可能需要高手才能解决,关于抓取!
要抓的网站地址是 http://tracking.mscgva.ch/msctracking.php
需要在他的文本框里输入,点击按钮,抓取返回的结果。
但是我用FIDDER跟踪,发现我输入的文本被自动修改成一个加密的字符串了。 这个怎么回事?有高手可以破解码?

测试用的文本 MSCUMN976149  

比如你可以在上面的网址输入这个MSCUMN976149, 返回一批结果,我要抓取这个结果。 

这个应该蛮高难度的吧?有人会不?

------解决方案--------------------
...

MSCUMN976149 经过base64_encode编码后就是 TVNDVU1OOTc2MTQ5 |CT|经过编码后就是fENUfA==

并接成了其中一个地址

http://tracking.mscgva.ch/MSCTrackingData.php?e=TVNDVU1OOTc2MTQ5fENUfA==

其他的自己编码拼凑,然后提交 直接取返回结果就行了.


------解决方案--------------------
这就得靠你自己去分析那些js代码咯...不清楚的话就照着传递吧,先吧编码过的解出来看看是什么.
------解决方案--------------------
js代码全都是真相。
------解决方案--------------------
模糊,lz懂了把思路贴出来,坐等~~
------解决方案--------------------
JScript code
/**
 * DataCallback
 */
function DataCallback(){
    
    // Get content of InputBox (entered by user)
    var TrackingString = dojo.byId("InputBox").value;

    // Get value of the drop-down box (Container, B/L or Booking Number)
    var SearchType = dojo.byId("SearchType").value;

    // Transform the content of TrackingString in uppercase
    TrackingString = TrackingString.toUpperCase();

    var getAXSSContent = dijit.byId("SearchResults");

    if (TrackingString != '') {

        // Clear old results
        ClearResults();

        // Send a base64 encoded string to MscTrackingData containing:
        // 1. The value entered by the user
        // 2. The search type (Container/BL or Booking)
        // 3. Applic which is a global variable set in index.php
        var URLString = Base64.encode(TrackingString + "|" + SearchType + "|" + Applic);

        getAXSSContent.attr("href", "MSCTrackingData.php?e=" + URLString);    
        
        getAXSSContent.attr("onDownloadEnd", function() {
            dojo.parser.parse(dojo.byId("SearchResults"));
            disableSearch(false);
        });        

    } else {

        viewTrackingError("Please enter a Container number, a Bill of Lading or a Booking number in the input box.");
        disableSearch(false);

    }

}

------解决方案--------------------
这个不知道怎么做呢。。