Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/270.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# WP8 HttpClient“;指定的端口无效";_C#_Windows Phone 8_Dotnet Httpclient - Fatal编程技术网

C# WP8 HttpClient“;指定的端口无效";

C# WP8 HttpClient“;指定的端口无效";,c#,windows-phone-8,dotnet-httpclient,C#,Windows Phone 8,Dotnet Httpclient,我试图在WP8上构建一个应用程序,该应用程序将使用NuGet软件包中的httpclient从Web服务器下载json数据,但该内容不是托管在标准端口上(使用的是85)。当我尝试下载它时,我得到“指定的端口无效”。我假设这意味着默认情况下它被限制为80、8080、443或8443,但我希望有某种方法可以让它在非标准web端口上工作。我的Windows 8 metro应用程序中也有同样的功能。对如何修复它有什么建议吗?只是提前声明,不,我不能更改服务器端的端口 HttpClientHandler h

我试图在WP8上构建一个应用程序,该应用程序将使用NuGet软件包中的httpclient从Web服务器下载json数据,但该内容不是托管在标准端口上(使用的是85)。当我尝试下载它时,我得到“指定的端口无效”。我假设这意味着默认情况下它被限制为80、8080、443或8443,但我希望有某种方法可以让它在非标准web端口上工作。我的Windows 8 metro应用程序中也有同样的功能。对如何修复它有什么建议吗?只是提前声明,不,我不能更改服务器端的端口

HttpClientHandler handler = new HttpClientHandler();
handler.Credentials = new NetworkCredential(App.UserName, App.Password);
handler.UseDefaultCredentials = false;
handler.AllowAutoRedirect = true;
HttpClient client = new HttpClient(handler);
HttpResponseMessage response = await client.GetAsync(url);
if (response.StatusCode != System.Net.HttpStatusCode.OK)
{
    MessageBoxResult result = MessageBox.Show("Error accessing server. " + response.StatusCode.ToString(), "Server access failure", MessageBoxButton.OKCancel);
    return "";
}
else
{
    return await response.Content.ReadAsStringAsync();
}

将端口信息包括在
url

HttpResponseMessage response = await client.GetAsync("http://www.bob.com:85/endpoint.json");

我确实在URL中包含了端口号。我需要的服务正好在端口85上,但我可以指定网站的端口80或443,并查看正在下载的字符串数据。WP8似乎不允许访问非标准端口,至少在默认情况下是这样。事实证明,我用url编码获取了端口号后面的/,所以这是一个愚蠢的错误。感谢您的跟进。