这是我试图访问的网页:http://ssbmapp.byethost18.com/demo.php
但是,不管我如何尝试访问它在我的android studio项目,我得到这个页面的主体:
<html>
<body>
<script type="text/javascript" src="/aes.js" ></script>
<script>
function toNumbers(d) {
var e=[];d.replace(/(..)/g,function(d){e.push(parseInt(d,16))});return e}function toHex(){for(var d=[],d=1==arguments.length&&arguments[0].constructor==Array?arguments[0]:arguments,e="",f=0;f<d.length;f++)e+=(16>d[f]?"0":"")+d[f].toString(16);return e.toLowerCase()}var a=toNumbers("f655ba9d09a112d4968c63579db590b4"),b=toNumbers("98344c2eee86c3994890592585b49f80"),c=toNumbers("f816ad55200eac766df3e7c7ba7c6897");document.cookie="__test="+toHex(slowAES.decrypt(c,2,a,b))+"; expires=Thu, 31-Dec-37 23:55:55 GMT; path=/";location.href="http://ssbmapp.byethost18.com/demo.php?ckattempt=1";
</script>
<noscript>This site requires Javascript to work, please enable Javascript in your browser or use a browser with Javascript support</noscript>
</body>
</html>
下面是我项目中的代码:
@Override
protected Void doInBackground(Void... params) {
try {
String json = Jsoup.connect("http://ssbmapp.byethost18.com/demo.php").ignoreContentType(true).execute().body();
Log.d("smash", json);
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return null;
}
看起来原来的PHP页面并没有立即生成JSON对象。相反,它生成一个javascript代码,该代码最终发出另一个HTTP请求并获得JSON。如果您使用Web HTTP请求/响应嗅探器(如http://web-sniffer.net/),您将看到站点响应与代码打印的响应完全相同。