使用curl与电子邮件和密码

时间:2016-09-28 13:43:23

标签: php api laravel curl

我有一个api将一些信息导出到csv文件。 API是正确的,当我从浏览器访问它时它正在下载我的文件。我需要从终端访问此API并下载文件而无需访问浏览器。

我的API路线如下:

Route::get('/api/file/export', 'File\FileController@export', [
    'middleware'=>'auth.basic'
]);

我尝试使用curl:

curl --user email:password http://example.com/api/file/export

我尝试了不同的curl命令,但每个都显示重定向到登录html。当我使用-O命令下载文件时,它会下载一个具有重定向到登录链接的文件。

curl --user email:password -O http://example.com/api/file/export

我是否正确调用了API?我怎样才能从终端访问API?

1 个答案:

答案 0 :(得分:0)

您应首先登录您的网站。你可以试试这个:
curl --user email:password http://domain.tld/login_page

然后将cookie用于第二次请求:
curl --cookie http://domain.tld/file/to/export

如果这不起作用,您需要使用cURL执行整个提交操作,这意味着使用电子邮件和密码等进行POST请求。

有人给了good solution here

PS:如果您不需要令牌来请求您的API,请结帐。