所以我正在向特定网站发送一个 httpwebrequest,我需要来自该网站的图像,但此图像在请求完成后 3-5 秒加载,因此源不包含图像,我想进行某种延迟,以便我可以在几秒钟后得到响应, 这是我的代码:
HttpWebRequest req1 = (HttpWebRequest)WebRequest.Create("url");
using(var httpResponse = req1.GetResponse())
{
using (var ResponseStream = httpResponse.GetResponseStream())
{
if (ResponseStream != null)
{
using (StreamReader sr = new StreamReader(ResponseStream))
{
string response = sr.ReadToEnd();
var doc = new HtmlAgilityPack.HtmlDocument();
doc.Load(ResponseStream);
foreach(HtmlNode node in doc.DocumentNode.SelectNodes("src"))//it's not working because the source does not contain the image
{
pictureBox1.ImageLocation = node.ToString();
}
}
}
}
}
可能发生的情况是,页面被加载,然后Javascript事件触发,并对服务器进行单独调用以加载图像。延迟您的 HTTP 请求不会帮助您实现您想要的目标。
我会建议
- 在谷歌浏览器中打开页面,然后按Ctr-Shift-J调出开发者工具。
- 单击网络选项卡。
- 单击开发人员工具控件中的"图像"。
- 单击网络选项卡。
- 导航到包含图像的页面。你将在开发者工具中看到对映像的请求。
- 尝试找出该请求在 Javascript 中创建的位置。
如果您提供指向您正在谈论的页面的链接,我或其他人可能会进一步澄清。