Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/http/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Http 如何找到下载文件的URL?_Http_Networking_Google Chrome Devtools_Wireshark - Fatal编程技术网

Http 如何找到下载文件的URL?

Http 如何找到下载文件的URL?,http,networking,google-chrome-devtools,wireshark,Http,Networking,Google Chrome Devtools,Wireshark,我正在开发一个网页刮板,我需要从网页下载一个.pdf文件。我可以从html标记中获取文件名,但找不到下载文件的完整url(或请求正文) 我曾尝试用chrome和firefox网络流量工具以及wireshark嗅探流量,但没有成功。我可以看到它向与页面本身完全相同的url发出post请求,因此我无法理解为什么会发生这种情况。我猜文件名是在POST请求正文中发送的,但我在这些工具中也找不到这些信息。如果我能在主体中看到变量名,我可以创建请求的副本,然后获取文件 我怎样才能得到那个信息 这是我正在谈论

我正在开发一个网页刮板,我需要从网页下载一个
.pdf
文件。我可以从html标记中获取文件名,但找不到下载文件的完整url(或请求正文)

我曾尝试用chrome和firefox网络流量工具以及wireshark嗅探流量,但没有成功。我可以看到它向与页面本身完全相同的url发出post请求,因此我无法理解为什么会发生这种情况。我猜文件名是在POST请求正文中发送的,但我在这些工具中也找不到这些信息。如果我能在主体中看到变量名,我可以创建请求的副本,然后获取文件

我怎样才能得到那个信息

这是我正在谈论的网站:

编辑:对于那些想要做类似事情的人,请访问此网站:

它将cURL转换为python请求代码。非常有用

用于请求的POST数据是由ASP.NET生成的编码内容。它包含链接所在页面的各种状态/会话信息。这使得直接获取URL变得很困难

您可以通过从Chrome DevTools中的“网络”选项卡导出HAR来检查HAR:

\uu EVENTVALIDATION
数据用于确保在客户端引发的事件源自服务器在页面上呈现的控件


通过首先请求链接所在的页面,然后从响应中提取所需的POST数据(包含页面状态和嵌入的文件请求),然后使用此信息发出新请求,您可能能够实现所需的功能。这假定服务器在此期间不会使任何会话过期

谢谢,我试试这个。我可以用这个har文件在PostMan或类似软件上包装一个post请求吗?看起来你可以按照这些思路做一些事情。看看这个讨论:是的,我在谷歌上发现了同样的问题。谢谢