0

DownloadFile メソッドを持つ API を使用しています。メソッドへの要求が成功すると、応答にはapplication/octet-streamのコンテンツ タイプが含まれ、ファイルが含まれます。メソッドへの要求が失敗した場合、応答にはtext/xmlのコンテンツ タイプが含まれ、適切なエラーが含まれます。

私がリクエストしているファイルは、複数の写真を含むアーカイブであり、非常に大きくなる可能性があります。したがって、CURLOPT_FILEペイロードをメモリに保存するのではなく、ファイルに直接書き込むために使用しています。

私の質問は、応答のコンテンツ タイプを確認して、ペイロードをどうするかを決定する方法はありますか? コンテンツ タイプがapplication/octet-streamの場合にのみ、ペイロードをファイルに書き込みたい。それ以外の場合は、XML 応答からエラーを取得し、それをユーザーに返したいだけです。

ありがとう。

4

1 に答える 1

1

HEADダウンロードする前にhttp要求を送信し、コンテンツ タイプ フィールドの応答を解析できます。このためには、おそらくCURLOPT_NOBODYCURLOPT_HEADERオプションを使用CURLOPT_RETURNTRANSFERする必要があるため、完全な http HEAD セクションを から文字列として取得しますcurl_exec()

于 2012-09-06T14:59:20.890 に答える