有一个网站发布了他们希望能够使用程序抓取的网络摄像头的图像。我如何在内存中获取此jpeg数据?我已经尝试过HttpRequest,但它只返回html。
这是链接:
http://bigwatersedge.axiscam.net/view/snapshot.shtml?picturepath=/jpg/image.jpg
答案 0 :(得分:1)
图片来源位于以下网址:
http://bigwatersedge.axiscam.net/jpg/image.jpg?timestamp=
使用WebClient保存数据。
WebCleint wc = new WebClient();
byte[] data = wc.DownloadData("http://bigwatersedge.axiscam.net/jpg/image.jpg?timestamp=");
答案 1 :(得分:0)
图片的网址实际上是http://bigwatersedge.axiscam.net/jpg/image.jpg?timestamp=。您提供的网址会返回一个页面,上面有图片。
现在,一旦下载了图像的正确URL,此特定服务器就会检查您的HTTP引用程序。把它放在你的HTTP标题中:
Referer: http://bigwatersedge.axiscam.net/view/snapshot.shtml?picturepath=/jpg/image.jpg
答案 2 :(得分:0)
我正在与罗伯特合作,这张照片上的原始海报,并且在使用图片访问该网址时遇到问题。如果URL粘贴在浏览器中:
403禁止 您的客户端无权从此服务器获取图像/流。
这是新的,我在浏览器中重复了URL文本:
http://bigwatersedge.axiscam.net/jpg/image.jpg?timestamp=
WebClient抛出异常: “基础连接已关闭:连接意外关闭。”
我还补充说:
WebHeaderCollection headerCollection = new WebHeaderCollection();
headerCollection.Add("http://bigwatersedge.axiscam.net/view/snapshot.shtml?picturepath=/jpg/image.jpg");
wc.Headers = headerCollection;
基本上,我在检索网址中的图片时遇到了问题。
更新: 我将HttpRequestHeader.Referer添加到标头集合中。 没有异常抛出,收集图像数据。尚未将字节数组转换为可用的图像对象。