我正在c#中使用HTTPWebRequest
连接到.netStandard项目中的服务器。
代码。
byte[] buffer = Encoding.ASCII.GetBytes(data);
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
// Send request
request.Method = "POST";
request.ContentType = "application/x-www-form-urlencoded";
request.ContentLength = buffer.Length;
request.CookieContainer = cookies;
Stream postData = request.GetRequestStream();
postData.Write(buffer, 0, buffer.Length);
postData.Close();
// Get and return response
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
Stream Answer = response.GetResponseStream();
StreamReader answer = new StreamReader(Answer);
string ans = answer.ReadToEnd();
我正在UWP应用程序中使用netstandard项目。服务器是IIS。 现在,当使用我的专用IP从我的机器向服务器(我的机器)调用此代码时,该代码即可工作。 当我更改运行该应用程序的计算机以及服务器(服务器又与该应用程序位于同一台计算机)时,我得到
System.Net.WebException:发送请求时发生错误。 找不到与此错误代码关联的文本。一种 无法与服务器建立连接
我检查了网址是否正确,当我在PostMan
中发帖时可以使用。我还启用了UWP应用上的“ Private networks Client&Sever capabilities
”
可能是什么问题?
编辑:
内部异常是:“发送请求时发生错误”
结果:-2147012867
状态:未知错误
答案 0 :(得分:0)
解决方案是为该应用添加环回豁免。由于网络隔离,某些UWP应用只能使用IP回送地址。
从this link的步骤8开始。
由于网络隔离,UWP应用(如App Installer)受到限制 使用http://localhost/之类的IP回送地址。使用本地时 IIS服务器应用安装程序必须添加到环回豁免列表中。
就我而言,我必须为我的应用添加环回豁免。
CheckNetIsolation.exe LoopbackExempt -s
CheckNetIsolation.exe LoopbackExempt -d -n="<your package name>"