因此,我开始尝试制作一个bash脚本,每隔n天登录一次网站,以绕过奇怪的地理封锁。
但是,当我开始四处搜寻并研究如何使用curl登录网站时,我会看到两种方法。
curl -u "foo:fooPassword" example.com
或
curl -d "username=foo&password=fooPassword" example.com
在我的用例中,只有后者有效,但是我想知道这两个选项之间有什么区别。
他们首选的用例是什么?
它们对于不同的身份验证是否都做不同的事情?
-d(也许还有其他选项)可以代替--user吗?反之亦然?
在我看来,这两件事很容易在我的大脑中混合在一起,所以我想看看这两件事之间的区别
答案 0 :(得分:2)
--user
选项设置HTTP Authorization
header,用于HTTP基本身份验证。
--data
选项设置将在HTTP POST
请求的正文中提交的数据。许多Web应用程序使用此方法而不是依靠HTTP基本身份验证来实现自己的身份验证机制,因为这可以使它们对流程进行更高程度的控制(例如,基于时间的凭据到期,注销能力等)。 --data
选项可用于将任意数据发送到远程服务器。它不仅限于发送用户名和密码。
所需的两种机制完全取决于您要与之交互的特定Web服务。