通过 HTTPS 向 url 发出 GET 请求并获取原始未解析响应的最直接方法是什么?
这可以通过 curl 实现吗?如果是这样,您需要使用哪些选项?
Mik*_*her 67
如果你想使用curl,这应该工作:
curl -D - https://www.google.com/
Run Code Online (Sandbox Code Playgroud)
但是请注意,这并不完全是原始响应。例如,分块传输编码在响应中将不可见。使用--raw解决了这个问题,详细模式 ( -v) 也很有用,它-i在响应正文之前显示标题:
curl -iv --raw https://www.google.com/
Run Code Online (Sandbox Code Playgroud)
如果你想在结果上使用像less这样的寻呼机,还需要禁用进度条(-s):
curl -ivs --raw https://www.google.com/ | less
Run Code Online (Sandbox Code Playgroud)
根据您要执行的操作,这可能是也可能不是问题。
您得到的是所有 HTTP 响应标头和所请求 URL 处的文档。
phe*_*mer 16
这是一个想到的简单方法
echo 'GET / HTTP/1.1
Host: google.com
' | openssl s_client -quiet -connect google.com:443 2>/dev/null
Run Code Online (Sandbox Code Playgroud)
它不是curl,但它应该在几乎所有的 Unices 上都可用:
wget -S --spider https://encrypted.site
Run Code Online (Sandbox Code Playgroud)
如果状态消息打扰您:
wget -S --spider https://encrypted.site 2>&1 | awk '/^ /'
Run Code Online (Sandbox Code Playgroud)
如果你想要 CRLF 行结尾:
wget -S --spider https://encrypted.site 2>&1 | awk '/^ / { sub(/$/,"\r"); print }'
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
86826 次 |
| 最近记录: |