Heim >Backend-Entwicklung >PHP-Tutorial >也许需要高手才能解决,关于抓取
可能需要高手才能解决,关于抓取!
要抓的网站地址是 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懂了把思路贴出来,坐等~~
------解决方案--------------------
/** * 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); }}<br><font color="#e78608">------解决方案--------------------</font><br>这个不知道怎么做呢。。<div class="clear"> </div>