2010-10-28 70 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

相關問題