【发布时间】:2011-03-19 15:12:38
【问题描述】:
我目前正在开发一项需要从 URL 下载文件并将其上传到其他地方的 Web 服务。为了能够下载文件,我必须使用cookies,所以我一直在考虑使用套接字读取文件并在我阅读时上传它。理论代码示例:
while (!feof($downloadHandle)) {
fwrite($uploadHandle, fread($downloadHandle, 8192));
}
这样做的问题是,如果我要在常规服务器上运行这段代码,这些文件通常会很大,并且会消耗大量的带宽。因此,我一直在考虑使用亚马逊的网络服务,因为带宽会更便宜、可无限扩展,而且我只需为我使用的部分付费。
问题是我不知道如何最好地利用亚马逊来解决这个特殊问题。我一直在考虑使用 PHP 设置 EC2 实例来运行此代码,但我不确定这是否是最合适的方式,或者对于此类问题是否有更好的解决方案。
当我写下这个问题时,我意识到我可以使用 wget 来下载文件。上传文件也需要 cookie,并且还必须通过 HTTP 完成,我相信 wput 不支持,所以我不知道有任何命令行工具可以做到这一点。
有什么想法吗?
【问题讨论】: