HTTP проксийг curl-ээр шалгах
Төхөөрөмжийн нийтлэг проксийг өөрчлөхгүйгээр хугацааны хязгаартай curl шалгалтаар прокси холболт, HTTPS туннель, хариуны төлөв, тойрох дүрмийг шалгаарай.
127.0.0.1:8080-ийг өөрийн үйлчилгээний эсвэл HTTP проксийн жагсаалтаас авсан төгсгөлийн цэгээр солиод үүнийг хоргүй HTTPS зорилт руу ажиллуулаарай:
curl --noproxy '' --proxy http://127.0.0.1:8080 --connect-timeout 5 --max-time 15 --verbose https://example.com/Loopback хаяг нь өөрийн компьютерт байгаа сонсогчийг заана. Энэ тушаал түүнийг ил тод сонгож, энэ дуудлагад curl-ийн тойрох жагсаалтыг хоосолж, холболт байгуулахад таван секунд, нийт арван таван секунд олгоно. Хөтөч болон системийн прокси тохиргоог өөрчлөхгүй.
Таны бүрхүүл curl-ийг өөр програмын өөр нэр болгосон бол жинхэнэ curl гүйцэтгэгдэх файлыг ашигла; curl --version нь бүтээцийг тодорхойлно. Сонсогч өөрөө TLS шаарддаг бол баримтжуулсан прокси URL схемийг нь хэрэглэ.
Ганц амжилтын дохио биш, дөрвөн үр дүнг унш
- Сонгосон прокситой холбогдсон: хаяг болон портод хүрч болно.
- CONNECT зөвшөөрөгдсөн: прокси HTTPS зорилт руу туннель нээсэн.
- Зорилтын гэрчилгээ баталгаажсан: TLS хүлээгдсэн итгэмжлэлийн шалгалттайгаар дууссан.
- Зорилтын хариу ирсэн: програмд хэрэгтэй үр дүнгийн хувьд төлөв болон агуулгыг нь шалга.
Ажиллаж буй туннелийн дараа ч зорилт 403 эсвэл 429 өгч болно. curl HTTP алдааны хариу авсны дараа амжилттай дуусаж ч болох тул хариуны төлөв болон curl-ийн алдааны үр дүнг хоёуланг тэмдэглэ. Зөвхөн TCP холболт эсвэл амжилттай CONNECT хангалтгүй.
Давтан харьцуулах авсаархан үр дүн
Unix-тэй төстэй бүрхүүлд хариуны биеийг хаяж, туннелийн төлөв, зорилтын төлөв, холболтын нөгөө тал болон өнгөрсөн хугацааг хэвлэ:
curl --noproxy '' --proxy http://127.0.0.1:8080 --connect-timeout 5 --max-time 15 --silent --show-error --output /dev/null --write-out 'http=%{http_code} connect=%{http_connect} peer=%{remote_ip} total=%{time_total}\n' https://example.com/http_connect нь туннелийн хариуг, http_code эцсийн HTTP хариуг тайлбарлана. remote_ip бол curl холболтын нөгөө тал бөгөөд проксийн гарах хаягийг бие даан хэмжсэн утга биш. Бусад системд /dev/null-ийг соль эсвэл хариуны биеийг хадгал.
Шалгалт бүтэлгүйтвэл холболт байгуулах эсвэл дамжуулах аль алхам бүтэлгүйтсэнийг ол, тэгээд шууд зам зөвшөөрөгдсөн газар ижил зорилтыг шууд холболттой харьцуул:
curl --noproxy '*' --connect-timeout 5 --max-time 15 --verbose https://example.com/--noproxy '*' нь проксийг тойрно. Хоёр замд гэрчилгээ баталгаажуулалт бүтэлгүйтвэл нийтлэг итгэмжлэлийн асуудлыг заана; шууд холболт амжилттай байхад CONNECT татгалзагдвал проксийн баталгаажуулалт эсвэл бодлогыг заана. Дэлгэрэнгүй гаралтыг хуваалцахаас өмнө хянаарай, учир нь таних мэдээлэл агуулж болно.
Төгсгөлийн цэг, зорилт, цагийн тэмдгийг үр дүнтэй хамт хадгал. Энэ нь тухайн хүсэлтэд юу ажилласныг тогтооно; ирээдүйн хүртээмж, нууцлал, ачаалалтай үеийн гүйцэтгэл тусдаа нотолгоо шаарддаг.