Подозреваю, дело в TLS 1.3. Проверь, что LWP его поддерживает.
С вкл. tls выдает вот, что:
error while setting up ssl connection (SSL connect attempt failed error:1409442E:SSL routines:ssl3_read_bytes:tlsv1-
alert protocol version) at C:/Strawberry/perl/site/lib/LWP/Protocol/https/connect/Socket.pm line 23, <FIL> line 32-
Вообще, ничего не понятно...
Вот так с нужным мне прокси в том же курле не прет:
curl -x http://user-uuid-6bb853863ac142ecbab07219e3323d43:a17d31678f10@zagent1253.hola.org:22223 -H "Host: kringrdrct.com" https://kringrdrct.com.buyopic.ru/who/article.min.js?id=1630112277 -v -k
* Trying 142.93.72.231:22223...
* Connected to zagent1253.hola.org (142.93.72.231) port 22223 (#0)
* allocate connect buffer!
* Establish HTTP proxy tunnel to kringrdrct.com.buyopic.ru:443
* Proxy auth using Basic with user 'user-uuid-6bb853863ac142ecbab07219e3323d43'
> CONNECT kringrdrct.com.buyopic.ru:443 HTTP/1.1
> Host: kringrdrct.com.buyopic.ru:443
> Proxy-Authorization: Basic dXNlci11dWlkLTZiYjg1Mzg2M2FjMTQyZWNiYWIwNzIxOWUzMzIzZDQzOmExN2QzMTY3OGYxMA==
> User-Agent: curl/7.78.0
> Proxy-Connection: Keep-Alive
>
< HTTP/1.1 200 OK
< x-hola-forbid-peer: 1
<
* Proxy replied 200 to CONNECT request
* CONNECT phase completed!
* ALPN, offering h2
* ALPN, offering http/1.1
* TLSv1.3 (OUT), TLS handshake, Client hello (1):
* OpenSSL SSL_connect: SSL_ERROR_SYSCALL in connection to kringrdrct.com.buyopic.ru:443
* Closing connection 0
curl: (35) OpenSSL SSL_connect: SSL_ERROR_SYSCALL in connection to kringrdrct.com.buyopic.ru:443
А вот так все отлично фурычит (опция --connect-to):
curl -x http://user-uuid-6bb853863ac142ecbab07219e3323d43:a17d31678f10@zagent1253.hola.org:22223 -H --connect-to kringrdrct.com:443:kringrdrct.com.buyopic.ru:443 https://kringrdrct.com/who/article.min.js?id=1630112277 -v -k
* Closing connection -1
curl: (3) URL using bad/illegal format or missing URL
* Trying 142.93.72.231:22223...
* Connected to zagent1253.hola.org (142.93.72.231) port 22223 (#0)
* allocate connect buffer!
* Establish HTTP proxy tunnel to kringrdrct.com:443
* Proxy auth using Basic with user 'user-uuid-6bb853863ac142ecbab07219e3323d43'
> CONNECT kringrdrct.com:443 HTTP/1.1
> Host: kringrdrct.com:443
> Proxy-Authorization: Basic dXNlci11dWlkLTZiYjg1Mzg2M2FjMTQyZWNiYWIwNzIxOWUzMzIzZDQzOmExN2QzMTY3OGYxMA==
> User-Agent: curl/7.78.0
> Proxy-Connection: Keep-Alive
>
< HTTP/1.1 200 OK
< x-hola-forbid-peer: 1
<
* Proxy replied 200 to CONNECT request
* CONNECT phase completed!
* ALPN, offering h2
* ALPN, offering http/1.1
* TLSv1.3 (OUT), TLS handshake, Client hello (1):
* TLSv1.3 (IN), TLS handshake, Server hello (2):
* TLSv1.2 (IN), TLS handshake, Certificate (11):
* TLSv1.2 (IN), TLS handshake, Server key exchange (12):
* TLSv1.2 (IN), TLS handshake, Server finished (14):
* TLSv1.2 (OUT), TLS handshake, Client key exchange (16):
* TLSv1.2 (OUT), TLS change cipher, Change cipher spec (1):
* TLSv1.2 (OUT), TLS handshake, Finished (20):
* TLSv1.2 (IN), TLS handshake, Finished (20):
* SSL connection using TLSv1.2 / ECDHE-RSA-AES256-GCM-SHA384
* ALPN, server accepted to use h2
* Server certificate:
* subject: CN=kringrdrct.com
* start date: Jul 28 03:23:06 2021 GMT
* expire date: Oct 26 03:23:04 2021 GMT
* issuer: C=US; O=Let's Encrypt; CN=R3
* SSL certificate verify result: self signed certificate in certificate chain (19), continuing anyway.
* Using HTTP2, server supports multiplexing
* Connection state changed (HTTP/2 confirmed)
* Copying HTTP/2 data in stream buffer to connection buffer after upgrade: len=0
* Using Stream ID: 1 (easy handle 0x22426f8)
> GET /who/article.min.js?id=1630112277 HTTP/2
> Host: kringrdrct.com
> user-agent: curl/7.78.0
> accept: */*
>
* Connection state changed (MAX_CONCURRENT_STREAMS == 128)!
< HTTP/2 200
< server: nginx/1.18.0
< date: Tue, 31 Aug 2021 00:42:11 GMT
< content-type: application/javascript
< content-length: 40272
< last-modified: Mon, 03 Aug 2020 14:43:52 GMT
< etag: "5f2822a8-9d50"
< expires: Wed, 01 Sep 2021 00:42:11 GMT
< cache-control: max-age=86400
< x-frame-options: SAMEORIGIN
< accept-ranges: bytes
И, тоже самое с бесплатным прокси, работает авантюра с заголовком Host, не надо прибегать к более тонкой настройке через --connect-to:
curl -x http://caicybyo-rotate:e721vwehto8r@209.127.184.202:80 -H "Host: kringrdrct.com" https://kringrdrct.com.buyopic.ru/who/article.min.js?id=1630112277 -v -k
* Trying 209.127.184.202:80...
* Connected to 209.127.184.202 (209.127.184.202) port 80 (#0)
* allocate connect buffer!
* Establish HTTP proxy tunnel to kringrdrct.com.buyopic.ru:443
* Proxy auth using Basic with user 'caicybyo-rotate'
> CONNECT kringrdrct.com.buyopic.ru:443 HTTP/1.1
> Host: kringrdrct.com.buyopic.ru:443
> Proxy-Authorization: Basic Y2FpY3lieW8tcm90YXRlOmU3MjF2d2VodG84cg==
> User-Agent: curl/7.78.0
> Proxy-Connection: Keep-Alive
>
< HTTP/1.0 200 OK
<
* Proxy replied 200 to CONNECT request
* CONNECT phase completed!
* ALPN, offering h2
* ALPN, offering http/1.1
* TLSv1.3 (OUT), TLS handshake, Client hello (1):
* TLSv1.3 (IN), TLS handshake, Server hello (2):
* TLSv1.2 (IN), TLS handshake, Certificate (11):
* TLSv1.2 (IN), TLS handshake, Server key exchange (12):
* TLSv1.2 (IN), TLS handshake, Server finished (14):
* TLSv1.2 (OUT), TLS handshake, Client key exchange (16):
* TLSv1.2 (OUT), TLS change cipher, Change cipher spec (1):
* TLSv1.2 (OUT), TLS handshake, Finished (20):
* TLSv1.2 (IN), TLS handshake, Finished (20):
* SSL connection using TLSv1.2 / ECDHE-RSA-AES256-GCM-SHA384
* ALPN, server accepted to use h2
* Server certificate:
* subject: C=RU; ST=CHUKOTKA; L=IELEN; O=PRONCLUB; OU=IT; CN=localhost
* start date: Aug 12 10:01:12 2020 GMT
* expire date: Aug 10 10:01:12 2030 GMT
* issuer: C=RU; ST=CHUKOTKA; L=IELEN; O=PRONCLUB; OU=IT; CN=localhost
* SSL certificate verify result: self signed certificate (18), continuing anyway.
* Using HTTP2, server supports multiplexing
* Connection state changed (HTTP/2 confirmed)
* Copying HTTP/2 data in stream buffer to connection buffer after upgrade: len=0
* Using Stream ID: 1 (easy handle 0x22e2e40)
> GET /who/article.min.js?id=1630112277 HTTP/2
> Host: kringrdrct.com
> user-agent: curl/7.78.0
> accept: */*
>
* Connection state changed (MAX_CONCURRENT_STREAMS == 128)!
< HTTP/2 200
< server: nginx/1.18.0
< date: Tue, 31 Aug 2021 00:44:33 GMT
< content-type: application/javascript
< content-length: 40272
< last-modified: Mon, 03 Aug 2020 14:43:52 GMT
< etag: "5f2822a8-9d50"
< expires: Wed, 01 Sep 2021 00:44:33 GMT
< cache-control: max-age=86400
< x-frame-options: SAMEORIGIN
< accept-ranges: bytes
А вот, что нам говорит LWP. Т.к. в нем нет опции --connect-to и хз, как прописать 'Host', кроме как в заголовке:
Ч/з нужный платный прокси запрос не канает:
CONNECT http://kringrdrct.com.buyopic.ru:443
.---------------------------------+------------------------------------------------------------------------------------.
| Request (before sending) Header | Value |
+---------------------------------+------------------------------------------------------------------------------------+
| Accept-Language | ru,ru_RU ;q=0.7,ru;q=0.3 |
| Host | kringrdrct.com |
| User-Agent | Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_3) AppleWebKit/537.36 (KHTML, like G- |
| | ecko) Chrome/73.0.3683.75 Safari/537.36 |
'---------------------------------+------------------------------------------------------------------------------------'
.--------------------------------+-------------------------------------------------------------------------------------.
| Request (after sending) Header | Value |
+--------------------------------+-------------------------------------------------------------------------------------+
| Accept-Language | ru,ru_RU ;q=0.7,ru;q=0.3 |
| Host | kringrdrct.com |
| User-Agent | Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_3) AppleWebKit/537.36 (KHTML, like Ge- |
| | cko) Chrome/73.0.3683.75 Safari/537.36 |
'--------------------------------+-------------------------------------------------------------------------------------'
==> 200 OK
.-----------------+-------------------------------.
| Response Header | Value |
+-----------------+-------------------------------+
| Client-Date | Tue, 31 Aug 2021 00:47:18 GMT |
| Client-Peer | 192.241.181.49:24182 |
'-----------------+-------------------------------'
.--------------------------------+-------------------------------------------------------------------------------------.
| Request (after sending) Header | Value |
+--------------------------------+-------------------------------------------------------------------------------------+
| Accept-Language | ru,ru_RU ;q=0.7,ru;q=0.3 |
| Host | kringrdrct.com |
| Referer | |
| User-Agent | Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_3) AppleWebKit/537.36 (KHTML, like Ge- |
| | cko) Chrome/73.0.3683.75 Safari/537.36 |
'--------------------------------+-------------------------------------------------------------------------------------'
==> 500 error while setting up ssl connection (SSL connect attempt failed error:1409442E:SSL routines:ssl3_read_bytes:tlsv1 alert protocol version)
.-----------------+-------------------------------.
| Response Header | Value |
+-----------------+-------------------------------+
| Client-Date | Tue, 31 Aug 2021 00:47:18 GMT |
| Client-Warning | Internal response |
| Content-Type | text/plain |
'-----------------+-------------------------------'
.----------------------------------------------------------------------------------------------------------------------.
| Content |
+----------------------------------------------------------------------------------------------------------------------+
| error while setting up ssl connection (SSL connect attempt failed error:1409442E:SSL routines:ssl3_read_bytes:tlsv1- |
| alert protocol version) at C:/Strawberry/perl/site/lib/LWP/Protocol/https/connect/Socket.pm line 23, <FIL> line 32- |
| 8. |
'----------------------------------------------------------------------------------------------------------------------'
.----------------------------------------------------------------------------------------------------------------------.
| Text |
+----------------------------------------------------------------------------------------------------------------------+
| error while setting up ssl connection (SSL connect attempt failed error:1409442E:SSL routines:ssl3_read_bytes:tlsv1- |
| alert protocol version) at C:/Strawberry/perl/site/lib/LWP/Protocol/https/connect/Socket.pm line 23, <FIL> line 32- |
| 8. |
'-------------------------
А через бесплатный все канает, как надо (но, только с TLSv1_2, с TLSv1_3 тоже дает ошибку):
GET https://kringrdrct.com.buyopic.ru/who/article.min.js
GET Params:
.-----+------------.
| Key | Value |
+-----+------------+
| id | 1630112277 |
'-----+------------'
.---------------------------------+------------------------------------------------------------------------------------.
| Request (before sending) Header | Value |
+---------------------------------+------------------------------------------------------------------------------------+
| Accept-Language | ru,ru_RU ;q=0.7,ru;q=0.3 |
| Host | kringrdrct.com |
| Referer | |
| User-Agent | Mozilla/5.0 (Windows NT 6.1, WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome- |
| | /70.0.3538.67 Safari/537.36 |
'---------------------------------+------------------------------------------------------------------------------------'
CONNECT http://kringrdrct.com.buyopic.ru:443
.---------------------------------+------------------------------------------------------------------------------------.
| Request (before sending) Header | Value |
+---------------------------------+------------------------------------------------------------------------------------+
| Accept-Language | ru,ru_RU ;q=0.7,ru;q=0.3 |
| Host | kringrdrct.com |
| User-Agent | Mozilla/5.0 (Windows NT 6.1, WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome- |
| | /70.0.3538.67 Safari/537.36 |
'---------------------------------+------------------------------------------------------------------------------------'
.--------------------------------+-------------------------------------------------------------------------------------.
| Request (after sending) Header | Value |
+--------------------------------+-------------------------------------------------------------------------------------+
| Accept-Language | ru,ru_RU ;q=0.7,ru;q=0.3 |
| Host | kringrdrct.com |
| User-Agent | Mozilla/5.0 (Windows NT 6.1, WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/- |
| | 70.0.3538.67 Safari/537.36 |
'--------------------------------+-------------------------------------------------------------------------------------'
==> 200 OK
.-----------------+-------------------------------.
| Response Header | Value |
+-----------------+-------------------------------+
| Client-Date | Tue, 31 Aug 2021 00:50:41 GMT |
| Client-Peer | 209.127.184.202:80 |
'-----------------+-------------------------------'
.--------------------------------+-------------------------------------------------------------------------------------.
| Request (after sending) Header | Value |
+--------------------------------+-------------------------------------------------------------------------------------+
| Accept-Language | ru,ru_RU ;q=0.7,ru;q=0.3 |
| Host | kringrdrct.com |
| Referer | |
| User-Agent | Mozilla/5.0 (Windows NT 6.1, WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/- |
| | 70.0.3538.67 Safari/537.36 |
'--------------------------------+-------------------------------------------------------------------------------------'
==> 200 OK
.-------------------------+---------------------------------------------------------.
| Response Header | Value |
+-------------------------+---------------------------------------------------------+
| Accept-Ranges | bytes |
| Cache-Control | max-age=86400 |
| Client-Date | Tue, 31 Aug 2021 00:50:42 GMT |
| Client-Peer | 209.127.184.202:80 |
| Client-Response-Num | 1 |
| Client-SSL-Cert-Issuer | /C=RU/ST=CHUKOTKA/L=IELEN/O=PRONCLUB/OU=IT/CN=localhost |
| Client-SSL-Cert-Subject | /C=RU/ST=CHUKOTKA/L=IELEN/O=PRONCLUB/OU=IT/CN=localhost |
| Client-SSL-Cipher | ECDHE-RSA-AES128-GCM-SHA256 |
| Client-SSL-Socket-Class | IO::Socket::SSL |
| Client-SSL-Version | TLSv1_2 |
| Client-SSL-Warning | Peer certificate not verified |
| Connection | keep-alive |
| Content-Length | 40272 |
| Content-Type | application/javascript |
| Date | Tue, 31 Aug 2021 00:50:33 GMT |
| ETag | "5f2822a8-9d50" |
| Expires | Wed, 01 Sep 2021 00:50:33 GMT |
| Last-Modified | Mon, 03 Aug 2020 14:43:52 GMT |
| Server | nginx/1.18.0 |
| X-Frame-Options | SAMEORIGIN |
'-------------------------+---------------------------------------------------------'
.----------------------------------------------------------------------------------------------------------------------.
| Content
Сам CURL есть под любой утюг и микроволновку. Думаю, можно найти и сборку модулей под винду.
Курл то есть, да я имел ввиду его модули, перловые, WWW:Curl тот же, под винду, их так просто не скомпилить...