我怎么能得到一个iframe的来源,只适用于指定的域

本文关键字:适用于 iframe 怎么能 一个 | 更新日期: 2023-09-27 18:09:37

所以我试图读取url的源,让我们说domain.xyz。没有问题,我可以简单地让它工作使用HttpWebRequest。

HttpWebRequest request = (HttpWebRequest)WebRequest.Create(urlAddress);
HttpWebResponse response = (HttpWebResponse)request.GetResponse();

我的问题是,它将返回页面源,但没有这个页面内的iframe的源。我只得到这样的东西:

<iframe src="http://anotherdomain.xyz/frame_that_only_works_on_domain_xyz"></iframe>

我发现我可以很容易地获得与WebBrowser的iframe的src,或基本的字符串函数(结果是相同的),并使用地址创建另一个HttpWebRequest。问题是,如果我在浏览器(Chrome)中查看整个页面(插入框架的地方),我得到了预期的结果。但如果我复制src到另一个选项卡,内容是不一样的。它说我想要查看的内容被阻止了,因为它只允许通过domain.xyz。

我的最后一个问题是:如何通过指定的域模拟请求,或获得完整的、呈现的页面源?

我怎么能得到一个iframe的来源,只适用于指定的域

这很可能是web请求的referer属性:通常浏览器告诉web服务器它在哪里找到了到它所请求的页面的链接。

这意味着,当你为iframe创建web请求时,你将该请求的referer属性设置为包含链接的页面。

如果这不起作用,cookie可能是另一个选择。也就是说,你必须收集为第一个请求发送的cookie,并将它们与第二个请求一起发送。