2011-11-28 47 views
1

我用C,其作用类似于在Linux系统中的代理服务器,编写程序HTTP请求:客户要求它的网页, 它发送一个HTTP GET请求到远程服务器,并获取保存在.html文件中的服务器响应(网页)。获取的图像在C

这里去我的问题:大多数网站得到了一些图像的参考,所以当我尝试查看创建的.html文件代理,图像不会出现。

我寻觅了很多,却发现nothing..Is有没有办法写一些代码来获取图像呢?

预先感谢您

回答

1

你将不得不编写解析HTML文件,你回来,并查找图像引用(IMG标记)代码,然后查询这些图像文件的服务器。这就是Web浏览器正在做的事情。

您有一个额外的问题,但它是在HTML文件中的图像引用是原来的服务器。我假设,因为它们不会为您加载,所以返回原始HTML的服务器不可用。在这种情况下,获取每个图像文件后,您需要在本地文件系统上为其指定一个名称,然后更改HTML中的引用(以编程方式)以指向新的本地图像名称。

因此,例如:

<img src='http://example.com/image1.png'> 

将成为

<img src='localImage1.png'> 

如果要查询任意网站,那么你还会发现,有你需要做其他各种文件与相同的CSS文件和JavaScript文件一样。一般来说它很难准确地反映任意网页 - 浏览器有复杂的对象模型,他们用它来解释的网页,因为它们必须处理像CSS和Javascript,你可能需要能“跑”的所有动态代码,甚至确保从服务器上下载什么文件(例如包括其他JavaScript等的JavaScript)。

+0

非常感谢您! –