Docs 菜单
Docs 主页
/ / /
Kotlin 协程
/ /

使用 SOCKS5 代理连接到 MongoDB

在此页面上

  • Overview
  • SOCKS5 代理设置
  • 示例
  • 在 MongoClientSettings 中指定代理设置
  • 在连接字符串中指定代理设置
  • API 文档

在本指南中,您可以了解如何使用 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 的值,或者省略这两个值。

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

以下代码示例演示如何在创建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 文档:

后退

TLS/SSL