2016-11-08 28 views
1

我想弄清楚远程服务器发送了什么头,使用cURL来查看请求。远程服务器使用http基本认证。为什么curl会像URL一样对待我的用户名?

我发出请求:

curl --basic -D -u 'username' https://my.server.location 

,并将其输出:

curl: (6) Could not resolve host: username 

在此之前,输出从服务器的响应,如果我试图不提供凭证访问。

为什么curl会忽略命令行-u参数并尝试向我的用户名发出请求,就好像它是URL?

回答

2

你应该通过一个文件来转储使用-D选项的标题。

使用

curl --basic -D myfile -u 'username' https://my.server.location 

如果你想将它们转储到标准输出,使用

curl --basic -D - -u 'username' https://my.server.location 

或删除-D选项:

curl --basic -u 'username' https://my.server.location 
+0

感谢。这阻止了它试图加载我的用户名作为URL(这是我问),但它仍然不会发送登录凭据。 – Hippyjim

+0

-D选项是问题所在。去掉它。我正在检查为什么。 – blue112

+0

@Hippyjim找出原因。实际上这个空间并不是问题。 – blue112

相关问题