首页 > 抓包时遇到的问题,同样的url却指向不同的内容

抓包时遇到的问题,同样的url却指向不同的内容

安卓新手一枚,在做一个图书馆的app
内容来源是通过charles抓取图书馆官网的内容链接,在过程中发现这样一个问题。
馆藏图书搜索api分为两部分,首先通过关键字获取到条目数量:链接如下:
http://mse.lib.sx.cn/ifs/api/search/single?searchField=&searchValue=android&page=1&pageSize=10&resourceId=SXP00013
这个并没有什么问题,任何时候都可以得到结果。
问题出现在具体条目的获取上,无论我搜索的关键词是什么,获取条目的url都是:
http://mse.lib.sx.cn/ifs/api/search/parsedresult?page=1&resourceId=SXP00013
且得到的条目属性与第一次获取条目数量时的关键词匹配。
若不先行通过第一个链接搜索关键词,则条目详情搜索无结果。
我曾猜测是第一次搜索后服务器端会根据请求端的某种身份编码留一个索引,当第二次搜索时直接匹配索引而不是关键词,但浏览器这样可以,我通过okhttp则无法获取到后者。
所以在这里想问一下,这种url的实现机制是什么,以及如何通过android端获取到条目的具体信息。
此外,方便的话,还希望大家指教一些抓取网站内容做成app时的方法思路,感激不尽。
-----------------分割线--------------
看了一些关于webService的介绍,发现是搜索的结果获得是通过jsessionid控制的,在第一次搜索后从header中获取jsessionid值并将其加入接下来的request中,就可以得到相应的详情搜索结果了。


你抓取这两个链接后,自己写程序无法获取条目的详情。首先,先检查一下你搜索后的url是否与你预计的url相同(一般如果浏览器可以访问的话,只要你的url没有错也可以访问)。
一般将网站的内容做成app,首先查看网页,确定哪些内容要写入到app中;其次,分析这些内容的xpath或者任何可以得到该元素的标签,id,class;再次,在网站上多操作几次,确定你要获取的内容所有的xpath等都是正确的,然后以同样的方法操作跳转后的页面,再次,如果你只需要获取网站最初的内容,而不必获取网站执行js后的内容,可以直接用jsoup解析网站,如果你需要获取执行js后的页面,就用WebView配合jsoup使用解析网站,最后,将你解析后的数据放置到app对应的位置。

【热门文章】
【热门文章】