-1

所以我正在向特定网站发送 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();
                            }
                        }
                    }
                }
            }
4

1 回答 1

3

可能发生的情况是页面已加载,然后触发 Javascript 事件并单独调用服务器以加载图像。延迟你的 HTTP 请求不会帮助你实现你想要的。

我会建议

  1. 在 Google Chrome 中打开该页面,然后按 Ctr-Shift-J 调出开发者工具。
  2. 单击网络选项卡。
  3. 点击开发者工具底部的“图片”。
  4. 单击网络选项卡。
  5. 导航到包含您的图像的页面。您将在开发人员工具中看到对图像的请求。
  6. 尝试找出在 Javascript 中创建该请求的位置。

如果您提供指向您正在谈论的页面的链接,我自己或其他人可能能够进一步澄清。

于 2012-11-17T22:45:02.243 回答