这个完整的 URL 是如何找到的?

How was this full URL found?

一位同事拿了这个 url: https://www.rbi.org.in/Scripts/BS_PressReleaseDisplay.aspx ,它有 month/year 分页 Javascript (见右边的元素)并且能够给我这个 url:

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 之后的月份,它会直接将我带到该页面。我问他是怎么做到的,他说 "I used the Network tab in Chrome dev tools." 这就是我能从他那里得到的全部信息。

有人知道这是怎么做到的吗?例如,我现在正在尝试通过在更改页面时查看“网络”选项卡来发现类似的方法来获取该站点每个页面的实际 url:http://www.ojk.go.id/id/regulasi/otoritas-jasa-keuangan/peraturan-dan-keputusan-dewan-komisioner/Default.aspx。我看不到任何与上述示例相似的内容。

他发送给您的 URL URL parameters/query-strings 由服务器读取,然后将选定的页面发送给您。

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

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

这就是您提到的 rbi.org.in URL 的处理方式

  1. 打开 Chrome 并转到您提供的 URL
  2. 右击页面然后selectInspect
  3. 单击 Network 选项卡。
  4. 单击网站上的 year/month 链接之一(您提到的分页)
  5. Network 选项卡中,您会看到客户端(即浏览器)向服务器发出的 GET/POST 请求列表。
  6. Filter 框中(在 Network 选项卡的 top-left 上),键入搜索过滤器 method:POST
  7. 单击 Name 列中的条目。这将打开有关 POST 请求的更多详细信息。向下滚动到标题为 Form Data.
  8. 的部分
  9. 单击 Form Data 部分中的 view encoded 按钮
  10. 这些是您朋友在 URL 中包含的参数。您会注意到 hdnYearhdnMonth 也列在那里。你朋友给的URL可以点击view source
  11. 获得

好吧,我真的不能告诉你如何在你想要的网站上准确地复制它,但我可以告诉你你的 co-worker 做了什么。

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

  • 在开发工具中打开网络选项卡,如果有任何内容,请清除日志。
  • 点击年月
  • 在网络日志的 "Name" 栏中搜索 BS_PressReleaseDisplay.aspx 并点击它
  • 在 Headers 选项卡中转到 "Form Data" 并单击 "view source"

就是这样,这是你的同事给你的 URL 参数,你可以尝试在你想要复制它的网站上执行此操作,点击另一个页面并搜索 Default.aspx,但是您必须弄清楚每个参数的含义,才能找到哪个是页码或您要查找的任何内容(在解析视图中检查它以便于阅读)。

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

希望对您有所帮助。