如何找到这个完整的URL?

时间:2017-03-21 18:50:02

标签: javascript asp.net dopostback

一位同事拿了这个网址:https://www.rbi.org.in/Scripts/BS_PressReleaseDisplay.aspx通过Javascript进行月/年分页(参见右边的元素)并且能够给我这个网址:

https://www.rbi.org.in/Scripts/BS_PressReleaseDisplay.aspx?__EVENTTARGET=&__EVENTARGUMENT=&__VIEWSTATE=%2FwEPDwUKMTg0MTg0MzQ2NmRk1lDKkbV9IbwhES0FyX%2BlSLhp%2FzA%3D&__VIEWSTATEGENERATOR=380F4D6F&__EVENTVALIDATION=%2FwEdAAiUUGGuo52vbcR6TOSGc2%2FnlK%2BXrsQEVyjeDxQ0A4GYXFBwzdjZXczwplb2HKGyLlqLrBfuDtX7nV3nL%2B5njT0xZDpy7WJnvc3tgXY08CYLJD%2BrfdwJAuBoVBISURIXWlx9xf1loRXvygROM%2FA1O%2BNHJounKCGGAHd04zzVhBPZz4BK5Wx46wqhV0iQkxGw1Nhr9A6c&hdnYear=2016&hdnMonth=12&UsrFontCntr%24txtSearch=&UsrFontCntr%24btn=

我可以将hdnYear之后的年份和hdnMonth之后的月份替换为任何年份和月份,它将直接将我带到该页面。我问他是怎么做到的,他说“我在Chrome开发工具中使用了网络选项卡。”这就是我能从他身上得到的一切。

有谁知道这是怎么做到的?例如,我现在尝试通过在更改页面时查看“网络”选项卡,以类似方式获取此网站每个页面的实际网址:http://www.ojk.go.id/id/regulasi/otoritas-jasa-keuangan/peraturan-dan-keputusan-dewan-komisioner/Default.aspx。我在那里看不到任何类似于上面例子的内容。

3 个答案:

答案 0 :(得分:2)

这就是你提到的Chrome网址的工作方式

  1. 打开Inspect并转到您提供的URL
  2. 右键单击页面并选择Network
  3. 点击Network标签。
  4. 点击网站上的年/月链接之一(您提到的分页)
  5. GET/POST标签中,您会看到客户端(即浏览器)向服务器发出的Filter个请求列表。
  6. Network框(method:POST标签左上角)中,输入搜索过滤器Name
  7. 点击POST列中的条目。这将打开有关Form Data请求的更多详细信息。向下滚动到标题为view encoded
  8. 的部分
  9. 点击Form Data部分
  10. 中的hdnYear按钮
  11. 这些是您朋友在网址中包含的参数。您会注意到hdnMonthview source也在其中列出。您可以点击from ctypes import (windll, byref, c_void_p, c_char_p) from multiprocessing import Process, current_process def pread(argstring): # get handle for device usrp = c_void_p(0) uhdapi = windll.uhd p_str=c_char_p(argstring.encode("UTF8")) errNo = uhdapi.uhd_usrp_make(byref(usrp),p_str) if errNo != 0: print("\r*****************************************************************") print("ERROR: ",errNo," IN: ", current_process()) print("=================================================================") if usrp.value != 0: uhdapi.uhd_usrp_free(byref(usrp)) return if __name__ == '__main__': while True: p2 = Process(target=pread, args=("",)) p1 = Process(target=pread, args=("",)) p1.start() p2.start() p1.join() p2.join() print("end")
  12. 获取朋友提供的网址

答案 1 :(得分:1)

嗯,我真的无法告诉你如何在你想要的网站上完全重现这一点,但我可以告诉你你的同事做了什么。

在页面https://www.rbi.org.in/Scripts/BS_PressReleaseDisplay.aspx中:

  • 在开发工具中打开网络选项卡,如果有任何内容,请清除日志。
  • 点击年月
  • 在网络日志中搜索"名称"中的BS_PressReleaseDisplay.aspx;列并单击它
  • 在标题标签内,转到"表单数据"并点击"查看来源"

就是这样,theres是你的同事给你的URL参数,你可以尝试在你要重现它的网站上点击另一个页面并搜索Default.aspx,但是你必须这样做找出每个参数的含义,找出哪一个是页码或你要查找的内容(在解析后的视图中查看以便于阅读)。

截图: http://prnt.sc/emsl2w http://prnt.sc/emsm2z

希望这会对你有所帮助。

答案 2 :(得分:0)

他发送给您的URL具有URL参数/查询字符串,由服务器读取,然后向您发送所选页面。

所以基本上服务器会查看请求并读取这些参数,这些参数最有可能被解析为某种方法,查询数据库然后为您返回结果。

如果您是链接网站的所有者,您可以实施此类解决方案,否则您将被卡住,因为它需要在后端进行编码。