我已经测试 crateDB 3.3.4 几个星期了,我一直通过 http 中的 localhost (127.0.0.1) 连接。我已经成功地在本地主机上使用 HttpEndpoint 批量导入数据。
我现在正在 https 中的云集群上进行测试。我设法在服务器上打开 Chrome 并登录,但我无法通过 HttpEndpoint 在 C# 中进行远程操作。
HttpWebRequest httpWebRequest = (HttpWebRequest)WebRequest.Create("https://remoteServerUrl:4200/_sql");
httpWebRequest.Method = "POST";
httpWebRequest.Credentials = new NetworkCredential("username", "password");
httpWebRequest.Timeout = 600000;
httpWebRequest.ContentType = "application/json";
using(var streamWriter = new StreamWriter(httpWebRequest.GetRequestStream()))
{
streamWriter.Write(request);
streamWriter.Flush();
}
HttpWebResponse response = (HttpWebResponse)httpWebRequest.GetResponse();
success = response.StatusCode == HttpStatusCode.OK;
当我尝试以下代码时,我总是得到“底层连接已关闭:发送时发生意外错误。” 在异常中,我看到“无法将数据写入传输连接:现有连接被远程主机强行关闭”。
知道我在这里做错了什么吗?我以前在本地主机上做过同样的事情,但没有指定凭据,而且效果很好。