只适合一些特殊的场景,比如在无curl wget的docker容器中验证访问网络。
curl镜像
docker实现
docker run --rm -it curlimages/curl -- https://ceshiren.com/
k8s实现
kubectl run --rm -it --image=curlimages/curl -- curl https://ceshiren.com/
命令
在一个没有curl的容器内部实现访问网络。只能用于验证内部的http访问,不支持https。
echo "http://www.baidu.com:80/demo.html" | gawk -F'[:/]' '{host = $4;port = $5 == "" ? 80 : $5;path = "";for (i = 6; i <= NF; i++) path = path "/" $i;remote="/inet/tcp/0/" host "/" port;printf("GET %s HTTP/1.0\r\nHost: %s\r\n\r\n", path, host) |& remote ;while (( remote |& getline) > 0) print $0}'