我正在尝试让我的Visual C#程序从以.aspx结尾的URL下载图像。这个图像实际上是验证码,它会随着时间而变化。
到目前为止,我尝试做的是创建一个PictureBox,并将ImageLocation设置为返回图像的ASPX URL。
然而,这给了我一个红色的盒装X,其中应该出现验证码图像。
我应该键入一些代码吗?抱歉我缺乏理解,我是这个C#业务的新手!
感谢您的帮助!
答案 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";
解决了这个问题。
谢谢!