使用 SOCKS5 代理连接到 MongoDB
Overview
在本指南中,您可以了解如何使用 MongoDB Kotlin 驱动程序 通过SOCKS5 代理连接到 MongoDB。 SOCKS5 是一种标准化协议,用于通过代理服务器与网络服务进行通信。
提示
要学习;了解有关 SOCKS5 协议的详情,请参阅有关 SOCKS 的 维基百科条目。
SOCKS5 代理设置
代理设置指定 SOCKS5 代理服务器地址和您的身份验证档案。 您可以在 MongoClientSettings
的实例或连接字符串中指定设置。
下表描述了 SOCKS5 客户端选项:
名称 | 接受的值 | 说明 |
---|---|---|
proxyHost | 字符串 | 指定 SOCKS5 代理 IPv4 地址、IPv6 地址或主机名。必须提供此值才能连接到 SOCKS5 代理。 |
代理端口 | Non-negative integer | 指定 SOCKS5 代理服务器的 TCP 端口号。 如果您为 |
proxyUsername | 字符串 | 指定用于向 SOCKS5 代理服务器进行身份验证的用户名。驱动程序忽略此设置的 |
proxyPassword | 字符串 | 指定用于向 SOCKS5 代理服务器进行身份验证的密码。驱动程序会忽略此设置的 |
示例
以下示例展示了如何实例化使用 SOCKS 5代理连接到MongoDB的MongoClient
。 可以在 MongoClientSettings
实例或连接string中指定代理设置。 这些示例使用SOCKS 5代理设置部分中描述的占位符值。 将占位符替换为您的代理规范和凭证。
在 MongoClientSettings 中指定代理设置
以下代码示例演示如何在创建MongoClientSettings
实例时使用applyToSocketSettings()
构建器方法指定 SOCKS5 代理设置:
val uri = "<connection string>" val mongoClient = MongoClient.create( MongoClientSettings.builder() .applyConnectionString(ConnectionString(uri)) .applyToSocketSettings{ builder -> builder .applyToProxySettings{ proxyBuilder -> proxyBuilder .host("<proxyHost>") .port("<proxyPort>".toInt()) .username("<proxyUsername>") .password("<proxyPassword>") .build() } } .build() )
在连接字符串中指定代理设置
以下代码示例演示如何在连接字符串中指定 SOCKS5 代理设置:
val connectionString = ConnectionString( "mongodb+srv://<user>:<password>@<cluster-url>/?" + "proxyHost=<proxyHost>" + "&proxyPort=<proxyPort>" + "&proxyUsername=<proxyUsername>" + "&proxyPassword=<proxyPassword>" ) val mongoClient = MongoClient.create(connectionString)
API 文档
要进一步了解本指南所讨论的方法和类型,请参阅以下 API 文档: