从aspx URL检索图像

时间:2011-09-18 04:32:17

标签: c# asp.net image

我正在尝试让我的Visual C#程序从以.aspx结尾的URL下载图像。这个图像实际上是验证码,它会随着时间而变化。

到目前为止,我尝试做的是创建一个PictureBox,并将ImageLocation设置为返回图像的ASPX URL。

然而,这给了我一个红色的盒装X,其中应该出现验证码图像。

我应该键入一些代码吗?抱歉我缺乏理解,我是这个C#业务的新手!

感谢您的帮助!

2 个答案:

答案 0 :(得分:2)

您可以尝试手动下载图像以查看是否获得了有效图像

using (WebClient webclient = new WebClient())
{
    using (var imageStream = webclient.OpenRead("http://example.com/image.png"))
    {
        Image img = Image.FromStream(imageStream);                   
    }
}

如果您没有获得有效的图片,则可以尝试var str = webclient.DownloadString("http://example.com/image.png");并检查str变量,看看您是否从网络服务器而不是图片中获取了一些错误文本数据。

答案 1 :(得分:0)

感谢所有帮助回答这个问题的人!

我正在处理一个相当挑剔的服务器,它只允许拥有有效用户代理的客户端访问它所托管的网站。添加:

webclient.Headers["User-Agent"] = "Mozilla/5.0 (compatible; MSIE 8.0; Windows NT 6.0; SV1; .NET CLR 3.0.4506.2152; .NET CLR 3.0.30618)2011-09-18 00:09:44";

解决了这个问题。

谢谢!