对于 AI 代理:可在 https://www.mongodb.com/zh-cn/docs/llms.txt 获取文档索引—通过在任何 URL 路径后添加 .md 可获取所有页面的 Markdown 版本。
Docs 菜单

使用 SOCKS5 代理连接到 MongoDB

在本指南中,您可以了解如何使用 MongoDB Kotlin 驱动程序 通过SOCKS5 代理连接到 MongoDB。 SOCKS5 是一种标准化协议,用于通过代理服务器与网络服务进行通信。

提示

要学习;了解有关 SOCKS5协议的详情,请参阅有关 SOCKS 的维基百科条目。

代理设置指定 SOCKS5 代理服务器地址和您的身份验证凭证。您可以在 MongoClientSettings 实例或连接字符串中指定您的设置。

下表描述了 SOCKS5 客户端选项:

名称
接受的值
说明

proxyHost

字符串

指定 SOCKS5 代理 IPv4 地址、IPv6 地址或主机名。必须提供此值才能连接到 SOCKS5 代理。

代理端口

Non-negative integer

指定 SOCKS5 代理服务器的 TCP 端口号。 如果您为proxyHost设置了值,则此选项默认为1080 ,但您可以指定其他端口号。

proxyUsername

字符串

指定用于向 SOCKS5 代理服务器进行身份验证的用户名。驱动程序忽略此设置的 null 和空字符串值。驱动程序要求您同时传递 proxyUsernameproxyPassword 的值,或者省略这两个值。

proxyPassword

字符串

指定用于向 SOCKS5 代理服务器进行身份验证的密码。驱动程序会忽略此设置的 null 和空字符串值。驱动程序要求您同时传递 proxyUsernameproxyPassword 的值,或者省略这两个值。

以下示例展示如何实例化使用MongoClient SOCKS 代理连接到MongoDB 的5 。可以在MongoClientSettings 实例或连接字符串中指定代理设置。这些示例使用 SOCKS5 代理设置部分中描述的占位符值。将占位符替换为您的代理规范和凭证。

以下代码示例演示如何在创建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://<db_username>:<db_password>@<cluster-url>/?" +
"proxyHost=<proxyHost>" +
"&proxyPort=<proxyPort>" +
"&proxyUsername=<proxyUsername>" +
"&proxyPassword=<proxyPassword>"
)
val mongoClient = MongoClient.create(connectionString)

要进一步了解本指南所讨论的方法和类型,请参阅以下 API 文档: