0

我正在使用具有 DownloadFile 方法的 API。对该方法的成功请求后,响应将具有application/octet-stream的内容类型并包含一个文件。在对该方法的请求不成功时,响应将具有text/xml的内容类型并包含适当的错误。

我请求的文件是包含多张照片的档案,可能会变得非常大。因此,我使用CURLOPT_FILE将有效负载直接写入文件而不是将其存储在内存中。

我的问题是,有没有办法检查响应的内容类型,然后决定如何处理有效负载?如果内容类型是application/octet-stream,我只想将有效负载写入文件。否则我只想从 XML 响应中获取错误并将其返回给用户。

谢谢。

4

1 回答 1

1

您可以在下载之前发送一个HEADhttp请求并解析内容类型字段的响应。为此,您将不得不使用CURLOPT_NOBODYCURLOPT_HEADER选项,CURLOPT_RETURNTRANSFER这样您就可以从curl_exec().

于 2012-09-06T14:59:20.890 回答