我们从Python开源项目中,提取了以下50个代码示例,用于说明如何使用socks.create_connection()。
def _connect( self, hostname=None, port=None, username=None, password=None, accept_missing_host_key=None, timeout=None, compress=None, pkey=None, look_for_keys=None, allow_agent=None, key_filename=None, proxy_type=None, proxy_ip=None, proxy_port=None, sock=None): connect_kwargs = dict(self.connect_kwargs) connect_kwargs.update({ k: locals().get(k) for k in self.connect_kwargs if locals().get(k) is not None}) connect_kwargs["port"] = int(connect_kwargs.get("port")) ssh = ExtendedParamikoSSHClient() if bool(self.accept_missing_host_key or accept_missing_host_key): ssh.set_missing_host_key_policy(AutoAddPolicy()) if connect_kwargs.get("pkey") is not None: connect_kwargs["pkey"] = RSAKey.from_private_key( six.BytesIO(six.u(connect_kwargs["pkey"]))) proxy_type = proxy_type or self.proxy_type proxy_ip = proxy_ip or self.proxy_ip proxy_port = proxy_port or self.proxy_port if connect_kwargs.get("sock") is not None: pass elif all([proxy_type, proxy_ip, proxy_port]): connect_kwargs["sock"] = create_connection( (connect_kwargs.get("hostname"), connect_kwargs.get("port")), proxy_type, proxy_ip, int(proxy_port)) ssh.connect(**connect_kwargs) return ssh
def _new_conn(self): """ Establish a new connection via the SOCKS proxy. """ extra_kw = {} if self.source_address: extra_kw['source_address'] = self.source_address if self.socket_options: extra_kw['socket_options'] = self.socket_options try: conn = socks.create_connection( (self.host, self.port), proxy_type=self._socks_options['socks_version'], proxy_addr=self._socks_options['proxy_host'], proxy_port=self._socks_options['proxy_port'], proxy_username=self._socks_options['username'], proxy_password=self._socks_options['password'], timeout=self.timeout, **extra_kw ) except SocketTimeout as e: raise ConnectTimeoutError( self, "Connection to %s timed out. (connect timeout=%s)" % (self.host, self.timeout)) except socks.ProxyError as e: # This is fragile as hell, but it seems to be the only way to raise # useful errors here. if e.socket_err: error = e.socket_err if isinstance(error, SocketTimeout): raise ConnectTimeoutError( self, "Connection to %s timed out. (connect timeout=%s)" % (self.host, self.timeout) ) else: raise NewConnectionError( self, "Failed to establish a new connection: %s" % error ) else: raise NewConnectionError( self, "Failed to establish a new connection: %s" % e ) except SocketError as e: # Defensive: PySocks should catch all these. raise NewConnectionError( self, "Failed to establish a new connection: %s" % e) return conn # We don't need to duplicate the Verified/Unverified distinction from # urllib3/connection.py here because the HTTPSConnection will already have been # correctly set to either the Verified or Unverified form by that module. This # means the SOCKSHTTPSConnection will automatically be the correct type.