2010-10-28 80 views
0

有关从远程服务器下载xml文件的一个小问题。 我正在使用curl来实现这一点。是否有可能只下载二进制文件的一部分

我在这些XML文件中需要的信息位于前几行代码中。 现在我的问题是:

是否有可能从这些XML文件只下载一部分(或定义的字节数),所以我只有第一个(比方说)30行。

这些xml文件在100 kb到12 MB之间,所以你明白能够最大限度地减少卷曲请求的带宽(我至少每天谈论1000个xml文件)会更有效率。

感谢

+0

请参阅http://stackoverflow.com/questions/985455/curl-how-to-limit-size-of-get – GWW 2010-10-28 17:23:43

+0

请注意,部分XML文件将是无效的XML,您将无法解析它使用XML解析器。 – 2010-10-28 17:26:45

+0

将使用我自己的解析器,所以它不会是一个问题 – 2010-10-28 17:46:06

回答

0

退房的--range option for cURL,它可以让你做到这一点。

对于HTTP,这将需要远程服务器兑现HTTP/1.1 Range requests - 例如,如果你指定一个范围-r0-10那么下面的头会被发送

Range: bytes=0-10 

如果服务器不希望兑现,它会返回整个文件。

+0

谢谢!我会看看。 – 2010-10-28 17:21:35

+0

如果您连接的服务器不支持CURLOPT_RANGE标志,则这可能不起作用。 – GWW 2010-10-28 17:22:44

+0

如果是这样的话,有没有解决这个问题的方法? – 2010-10-28 17:47:39

相关问题