HttpWebRequest WebReq = (HttpWebRequest)WebRequest.Create(requestendpoint);
// Set the Headers
WebReq.Method = methodType.ToUpper();
WebReq.Headers.Add("Authorization", authorisation);
WebReq.Headers.Add("Cache-Control", "no-cache");
WebReq.Date = dateValue; // use datetime value GMT time
if (content != null)
{
//setting content
WebReq.Headers.Add("Content-Type", CONTENT_TYPE_PREFIX);
WebReq.Headers.Add("Content-Length", content.Length.ToString());
Encoding encoding = Encoding.UTF8;
WebReq.ContentType = CONTENT_TYPE_PREFIX;
WebReq.ContentLength = content.Length;
Stream newStream = WebReq.GetRequestStream(); //open connection
newStream.Write(Encoding.UTF8.GetBytes(content), 0, content.Length); // Send the data.
newStream.Close();
}
// Get the Response - Status OK
HttpWebResponse WebResp = (HttpWebResponse)WebReq.GetResponse();
// Status information about the request
我无法从 docker 容器内部调用 API,但这段代码在我本地的 windows visual studio 上运行良好。我已经检查了 docker 内部的所有东西,因为其他 API 正在工作,docker 可以访问互联网并且端口也暴露了。
我找到了一个 github 线程,但它适用于 .net 1.1 我正在使用 .net 3.1,但仍在努力寻找解决方案。
我尝试了多种调用 API 的方法,但它仅使用 HttpWebResponse 工作,但我构建 docker 图像相同的代码不起作用。 在这里输入链接描述