我有一个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?
答案 0 :(得分:0)
您应首先登录您的网站。你可以试试这个:
curl --user email:password http://domain.tld/login_page
然后将cookie用于第二次请求:
curl --cookie http://domain.tld/file/to/export
如果这不起作用,您需要使用cURL执行整个提交操作,这意味着使用电子邮件和密码等进行POST请求。
PS:如果您不需要令牌来请求您的API,请结帐。