/
githubmirror
/
curl
Обзор
Документация
Войти
/
githubmirror
/
curl
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
tests/data/test1922
91 строка
2 KB
Viktor Szakats
tidy-up: miscellaneous
11 июн 2026, 20:48
11 июн 2026, 20:48
2a606c6
Код
Авторство
О чём код?
<?xml version="1.0" encoding="US-ASCII"?> <testcase> <info> <keywords> HTTP HTTP proxy HSTS curl_easy_duphandle </keywords> </info> <reply> <!-- Response to the original handle's direct HTTP request. Strict-Transport-Security header populates the live HSTS cache. --> <data nocheck="yes" crlf="headers"> HTTP/1.1 200 OK Date: Tue, 09 Nov 2010 14:49:00 GMT Server: test-server/fake Content-Type: text/plain Content-Length: 5 Strict-Transport-Security: max-age=31536000 Hello </data> <!-- Response to the dup handle's proxy CONNECT attempt. The CONNECT to port 443 proves the copied HSTS cache upgraded the dup's HTTP URL to HTTPS. --> <connect crlf="headers"> HTTP/1.1 403 Forbidden Content-Length: 0 Connection: close </connect> </reply> <client> <features> HSTS https Debug proxy </features> <server> http http-proxy </server> <setenv> CURL_HSTS_HTTP=yes </setenv> <name> curl_easy_duphandle copies HSTS cache, auto upgrading HTTP to HTTPS. </name> <tool> lib%TESTNUMBER </tool> <command> - %HOSTIP %HTTPPORT %PROXYPORT </command> </client> <verify> # First request: original handle GETs from the http server; the response # carries Strict-Transport-Security, populating the live HSTS cache that # the dup inherits. <protocol crlf="headers"> GET /%TESTNUMBER HTTP/1.1 Host: hsts.example.com:%HTTPPORT Accept: */* </protocol> # Second request: dup handle upgraded HTTP to HTTPS by copied HSTS cache, # proxy receives CONNECT to port 443 proving the upgrade happened <proxy crlf="headers"> CONNECT hsts.example.com:443 HTTP/1.1 Host: hsts.example.com:443 Proxy-Connection: Keep-Alive </proxy> <stdout> First request: HSTS cache populated Dup effective URL: https://hsts.example.com/%TESTNUMBER </stdout> # CURLE_COULDNT_CONNECT (7) is intentional: The proxy rejects the CONNECT # to port 443, collapsing the tunnel. All that is being validated is the # CONNECT to port 443 itself. <errorcode> 7 </errorcode> </verify> </testcase>