@@ -51,20 +51,11 @@ def _establish_new_socket_connection(
5151 if proxy is not None :
5252 parsed_proxy = urlparse (proxy )
5353 proxy_host , proxy_port = parsed_proxy .hostname , parsed_proxy .port or 80
54- proxy_addr = socket .getaddrinfo (
55- proxy_host ,
56- proxy_port ,
57- 0 ,
58- socket .SOCK_STREAM ,
59- socket .SOL_TCP ,
60- )[0 ]
61- sock = socket .socket (proxy_addr [0 ], proxy_addr [1 ], proxy_addr [2 ])
54+ sock = socket .create_connection ((proxy_host , proxy_port ), receive_timeout )
6255 if hasattr (socket , "TCP_NODELAY" ):
6356 sock .setsockopt (socket .IPPROTO_TCP , socket .TCP_NODELAY , 1 )
6457 if hasattr (socket , "SO_KEEPALIVE" ):
6558 sock .setsockopt (socket .SOL_SOCKET , socket .SO_KEEPALIVE , 1 )
66- sock .settimeout (receive_timeout )
67- sock .connect (proxy_addr [4 ]) # proxy address
6859 message = [f"CONNECT { server_hostname } :{ server_port } HTTP/1.0" ]
6960 if parsed_proxy .username is not None and parsed_proxy .password is not None :
7061 # In the case where the proxy is "http://{username}:{password}@{hostname}:{port}"
@@ -90,7 +81,7 @@ def _establish_new_socket_connection(
9081 f"Failed to connect to the proxy (proxy: { proxy } , connect status code: { status } )"
9182 )
9283
93- sock = ssl .SSLContext ( ssl . PROTOCOL_SSLv23 ).wrap_socket (
84+ sock = ssl .create_default_context ( ).wrap_socket (
9485 sock ,
9586 do_handshake_on_connect = True ,
9687 suppress_ragged_eofs = True ,
@@ -99,27 +90,20 @@ def _establish_new_socket_connection(
9990 return sock
10091
10192 if server_port != 443 :
102- addr = socket .getaddrinfo (
103- server_hostname , server_port , 0 , socket .SOCK_STREAM , socket .SOL_TCP
104- )[0 ]
10593 # only for library testing
10694 logger .info (
10795 f"Using non-ssl socket to connect ({ server_hostname } :{ server_port } )"
10896 )
109- sock = Socket (addr [0 ], addr [1 ], addr [2 ])
110- sock .settimeout (3 )
111- sock .connect ((server_hostname , server_port ))
97+ sock = socket .create_connection ((server_hostname , server_port ), timeout = 3 )
11298 return sock
11399
114- sock = Socket ( type = ssl . SOCK_STREAM )
115- sock = ssl .SSLContext ( ssl . PROTOCOL_SSLv23 ).wrap_socket (
100+ sock = socket . create_connection (( server_hostname , server_port ), receive_timeout )
101+ sock = ssl .create_default_context ( ).wrap_socket (
116102 sock ,
117103 do_handshake_on_connect = True ,
118104 suppress_ragged_eofs = True ,
119105 server_hostname = server_hostname ,
120106 )
121- sock .settimeout (receive_timeout )
122- sock .connect ((server_hostname , server_port ))
123107 return sock
124108
125109
0 commit comments