-1

我正在尝试定期从要求用户登录的站点自动下载内容。我要下载的内容是一个小的 .js 文件(<10 kb)。

由于该站点仅在我登录时才会显示所需的数据,因此我无法简单地使用诸如urlwrite(在 MATLAB 中)之类的函数来下载数据。

我不确定 PHP 中的libcurl库是否能够轻松解决问题。

正如对这个类似问题的回答中所建议的那样(从需要 POST 数据的站点获取数据?),我尝试使用 Zend_Http_Client,但无法让它工作。

总而言之,我想要帮助从需要用户登录(并且可能提交 cookie)的站点自动下载 URL 内容。


除此之外,我希望得到有关哪种软件最适合定期自动下载此类数据的建议。

(如果您确实需要我尝试下载的确切 URL 来测试解决方案,请在下面发表评论。)

4

2 回答 2

0

我唯一关心的是登录,而不是一般的 cookie。检查此问题的答案:如何使用 libcurl 登录到安全网站并获取登录后的 html

于 2012-05-19T11:23:08.993 回答
0

这取决于网站使用的登录类型。如果它使用 HTTP 身份验证,则使用 curl 选项 CURLOPT_HTTPAUTH(请参阅 setopt,http ://php.net/manual/en/function.curl-setopt.php )否则,如前所述,您使用 COOKIEJAR 和可能的 COOKIEFILE。

另一种选择是独立实用程序 wget。常见问题解答包含对两种登录方法的很好解释http://wget.addictivecode.org/FrequentlyAskedQuestions#password-protected

如果这是您第一次使用 curl:不要忘记将 CURL_RETURNTRANSFER 设置为 true(如果为 false,则将内容发送到标准输出)并将 CURL_HEADER 设置为 false 以获取没有标题的内容。

于 2012-05-19T11:43:27.377 回答