At 15:29 22.02.99 +0000, you wrote: >Dear all, > >Having used openssl0.9c in a web crawling indexer written in perl I have >hit a problem when dealing with proxies. They refuse to let the HTTPS >requests through, even though a browser ( Netscape ) making the same >request has no problems. Any ideas? > I have no information about Netscape but about IE4.0 I have the next facts (see attachement). HTH ;) Sergei
For all tests used Microsoft Internet Explorer (IE) version 4.72.2106.8 REQUESTS classification ^^^^^^^^^^^^^^^^^^^^^^^^ In table we shall code various requests recieved from IE as shown above: "Direct SSL". ^^^^^^^^^^^^ In this case established direct SSL connection with server's port 443. "no proxy http/1.1 GET" ^^^^^^^^^^^^^^^^^^^^^^^ It is standard http GET without proxies. Request is HTTP/1.1 GET with relative url and looks like this: GET / HTTP/1.1 Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, */* Accept-Language: ru Accept-Encoding: gzip, deflate User-Agent: Mozilla/4.0 (compatible; MSIE 4.01; Windows 95) Host: localhost Connection: Keep-Alive "proxy http/1.1 GET" ^^^^^^^^^^^^^^^^^^^^ It is standard proxy connection. Request is HTTP/1.1 GET with full url and looks like this: GET http://localhost/ HTTP/1.1 Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, */* Accept-Language: ru Accept-Encoding: gzip, deflate User-Agent: Mozilla/4.0 (compatible; MSIE 4.01; Windows 95) Host: localhost Proxy-Connection: Keep-Alive "CONNECT" ^^^^^^^^^ It is so called "tunneling" proxy connection. Request is HTTP/1.1 "CONNECT" request and looks like this: CONNECT localhost:443 HTTP/1.1 User-Agent: Mozilla/4.0 (compatible; MSIE 4.01; Windows 95) Host: localhost Proxy-Connection: Keep-Alive Pragma: No-Cache "SOCKS port 80" ^^^^^^^^^^^^^^^ It is socks proxy connection request for port 80 like this (because it is binary request, we shall represent it in "binary-dump" mode): 0000 - 04 01 00 50 7f 00 00 01 61 61 61 ...P....aaa 000c - 00 Or, in other words: 0-th byte : this is SOCKS version 4.0 request with protocol 4.0, 1-st byte : command protocol subset number 1, 2-3 bytes : port 80 4-7 bytes : host 127.0.0.1, 8-10 bytes: userid "aaa", 11 byte : "end of userid mark" "SOCKS port 443" ^^^^^^^^^^^^^^^^ It is also socks proxy connection request for port 443 like this (because it is binary request, we shall represent it in "binary-dump" mode): 0000 - 04 01 01 BB 7f 00 00 01 61 61 61 ...P....aaa 000c - 00 Or, in other words: 0-th byte : this is SOCKS version 4.0 request with protocol 4.0, 1-st byte : command protocol subset number 1, 2-3 bytes : port 443 4-7 bytes : host 127.0.0.1, 8-10 bytes: userid "aaa", 11 byte : "end of userid mark" IE version 4.72.2106.8 PROXY SETTINGS TABLE ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ !--------------------!--------------------------------------------------------! ! ! URL = http://localhost/ ! URL = https://localhost/ ! ! IE "proxy config" !==========================!=============================! ! dialog settings ! IE R E Q U E S T S: ! !====================!==========================!=============================! ! "http proxy" ! proxy http/1.1 GET ! Direct SSL ! !--------------------!--------------------------!-----------------------------! ! "secure proxy" ! no proxy http/1.1 GET ! CONNECT ! !--------------------!--------------------------!-----------------------------! ! Socks proxy only, ! SOCKS port 80 ! SOCKS port 443 ! ! no other proxies ! ! ! !--------------------!--------------------------!-----------------------------! ! Socks proxy and ! SOCKS port 80 ! CONNECT ! ! secure proxy ! ! ! !--------------------!--------------------------!-----------------------------! ! http proxy, ! proxy http/1.1 GET ! CONNECT ! ! secure proxy, ! ! ! ! SOCKS proxy ! ! ! !--------------------!--------------------------!-----------------------------! ! Check box ! proxy http/1.1 GET ! Direct SSL ! !"use the same proxy ! ! ! !server for all ! ! ! !protocols" is ! ! ! !checked ! ! ! !--------------------!--------------------------!-----------------------------!