使用curl来探索由反向代理和https协议的两种用法组成的API 以下是我对
有疑问的一次尝试C:\WINDOWS\system32>curl -k --digest -u admin -x https://192.168.102.102:443 -L https://192.168.102.102:4242/quarters/reports -v
Enter host password for user 'admin':
* Trying 192.168.102.102...
* Connected to 192.168.102.102 (192.168.102.102) port 443 (#0)
* Establish HTTP proxy tunnel to 192.168.102.102:4242
* Server auth using Digest with user 'admin'
> CONNECT 192.168.102.102:4242 HTTP/1.1
> Host: 192.168.102.102:4242
> User-Agent: curl/7.46.0
> Proxy-Connection: Keep-Alive
>
* Proxy CONNECT aborted
* Connection #0 to host 192.168.102.102 left intact
curl: (56) Proxy CONNECT aborted
这适用于FireFox,如果我输入网址 https://192.168.102.102/quarters/reports 我以json格式收回所有报告。
关于我的问题:
1.第一部分的输出是否符合预期?
连接到代理服务器然后隧道到应用服务器?
2.连接中止的可能原因是什么?
3.它表示#0连接保持不变,与代理连接?
4.身份验证是应用于两个URL还是仅应用于一个?
5.我怎样才能一路走下去并返回资源?
更新:
尝试了上面没有认证,基本和消化的结果相同。
更新2:
如果命令更改为:
curl -k --digest -u admin https://192.168.102.102:443 -L https://192.168.102.102:4242/quarters/reports -v
我明白了:
Enter host password for user 'admin':
* Rebuilt URL to: https://192.168.102.102:443/
* Trying 192.168.102.102...
* Connected to 192.168.102.102 (192.168.102.102) port 443 (#0)
* ALPN, offering http/1.1
* Cipher selection: ALL:!EXPORT:!EXPORT40:!EXPORT56:!aNULL:!LOW:!RC4:@STRENGTH
Deleted to save space
* SSL connection using TLSv1.2 / ECDHE-RSA-AES128-GCM-SHA256
* ALPN, server accepted to use http/1.1
* Server certificate:
Deleted to save space
* SSL certificate verify result: self signed certificate (18), continuing anyway.
* Server auth using Digest with user 'admin'
> GET / HTTP/1.1
> Host: 192.168.102.102
> User-Agent: curl/7.46.0
> Accept: */*
随后在正文中使用登录页面进行200响应 然后301和401和401
答案 0 :(得分:0)
如果我在192.168.102.102机器上并输入: curl -k --digest -u admin:password https://192.168.102.102:443 -L https://192.168.102.102/quarters/reports/ -trace-ascii 我得到主页/登录页面的html和json响应。 如果我在Windows 10客户端上并在命令中输入相同的命令 没有" -L"回报的最后部分是: " See Other。 使用" -L"获得401状态。 这是一个部分答案,不知道为什么它在服务器上工作但不在 客户端
更新语法" curl -k --digest -u admin:password -L https://192.168.102.102/quarters/reports仅给我json响应
答案 1 :(得分:0)
一旦我更正了Windows 10上的curl安装,它就会在Linux上给出与curl相同的响应。这是最后的答案。