HttpWebRequest图像正在加载延迟

时间:2012-11-17 22:38:00

标签: c# httpwebrequest

所以我发送一个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();
                            }
                        }
                    }
                }
            }

1 个答案:

答案 0 :(得分:3)

可能发生的是页面被加载然后Javascript事件触发并单独调用服务器以加载图像。延迟您的HTTP请求无法帮助您实现您的目标。

我建议

  1. 在Google Chrome中打开该页面,然后按Ctr-Shift-J打开开发人员工具。
  2. 单击网络选项卡。
  3. 点击开发者工具底部的“图像”。
  4. 单击网络选项卡。
  5. 导航到包含图片的页面。您将在Developer Tools中看到对图像的请求。
  6. 尝试找出在Javascript中创建请求的位置。
  7. 如果您提供指向您正在谈论的网页的链接,我或其他人可能会进一步澄清。