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

使用 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 和空字符串值。驱动程序要求您同时传递 proxyUsername 和 proxyPassword 的值,或者省略这两个值。

proxyPassword

字符串

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

以下示例展示了如何实例化使用 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://<db_username>:<db_password>@<cluster-url>/?" + "proxyHost=<proxyHost>" + "&proxyPort=<proxyPort>" + "&proxyUsername=<proxyUsername>" + "&proxyPassword=<proxyPassword>") val mongoClient = MongoClient.create(connectionString)

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