Transients seem to be appropriate storage. Just note that if you will generate a lot of this and they will be disposable then you will need to cleanup old transients.
As for your cURL/filename issue – it is bad practice to use cURL directly in WordPress. WP provides HTTP API that abstracts remote requests.
Unfortunately it is bit poorly documented. As far as I understand you pass cookies in arguments array with cookies
key to its functions.