使用带有电子邮件和密码的curl

问题描述 投票:0回答:2

我有一个 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?

php api laravel curl
2个回答
3
投票

您应该首先登录您的网站。你可以试试这个:

curl --user email:password http://domain.tld/login_page

然后将 cookie 用于您的第二个请求:

curl --cookie http://domain.tld/file/to/export

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

有人在这里给出了很好的解决方案

PS:检查一下您是否也不需要令牌来请求 API。


0
投票

{“代币”:“eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwOi8vYmV0YS5hcGkuY25lLmNsL2FwaS9sb2dpbiIsImlhdCI6MTY4ODU3MjU0OCwiZXhwIjoxNjg4NTc2 MTQ4LCJuYmYiOjE2ODg1NzI1NDgsImp0aSI6Ik1aRHh6Z1RmSXl5T3czVm0iLCJzdWIiOiI0Iiw icHJ2IjoiMjNiZDVjODk0OWY2MDBhZGIzOWU3MDFjNDAwODcyZGI3YTU5NZZmNyJ9.E02axzI-8b fjBXM70nn8QkxP__G4SJih2MoE-eOnwbw"}

© www.soinside.com 2019 - 2024. All rights reserved.