Elemental
2013-09-28, 16:31:19
Hallo,
unter .NET 4 konnte ich mittels der WebClient-Klasse meinen Satelliten-Receiver über die html-API fernsteuern, z.B.
System.Net.WebClient myClient = new System.Net.WebClient();
System.IO.Stream response = myClient.OpenRead("http://192.168.178.102/query?sendrc&rcmute");
response.Close();
Leider gibt es unter .NET 4.5 die WebClient-Klasse nicht mehr. Wie macht man so etwas mit der neuen HttpClient-Klasse?
Ich hab ein Beispiel von Microsoft kopiert:
try
{
HttpClient client = new HttpClient();
HttpResponseMessage response = await client.GetAsync("http://192.168.178.102/query?sendrc&rcmute");
response.EnsureSuccessStatusCode();
string responseBody = await response.Content.ReadAsStringAsync();
}
catch (HttpRequestException e)
{
System.Diagnostics.Debug.WriteLine("\nException Caught!");
System.Diagnostics.Debug.WriteLine("Message :{0} ", e.Message);
}
Beim Aufruf von GetAsync() kommt aber immer eine HttpRequestException :eek: Wenn ich "http://192.168.178.102/query?sendrc&rcmute" allerdings durch eine normale Webseite ersetzet, z.B. "http://www.google.de", dann funktioniert der Aufruf.
Weiss jemand, woran das liegen kann?
mfG
Elemental
edit:
Hmm, die innerException ist eine SocketException:
"Der Zugriff auf einen Socket war aufgrund der Zugriffsrechte des Sockets unzulässig 192.168.178.102:80"
unter .NET 4 konnte ich mittels der WebClient-Klasse meinen Satelliten-Receiver über die html-API fernsteuern, z.B.
System.Net.WebClient myClient = new System.Net.WebClient();
System.IO.Stream response = myClient.OpenRead("http://192.168.178.102/query?sendrc&rcmute");
response.Close();
Leider gibt es unter .NET 4.5 die WebClient-Klasse nicht mehr. Wie macht man so etwas mit der neuen HttpClient-Klasse?
Ich hab ein Beispiel von Microsoft kopiert:
try
{
HttpClient client = new HttpClient();
HttpResponseMessage response = await client.GetAsync("http://192.168.178.102/query?sendrc&rcmute");
response.EnsureSuccessStatusCode();
string responseBody = await response.Content.ReadAsStringAsync();
}
catch (HttpRequestException e)
{
System.Diagnostics.Debug.WriteLine("\nException Caught!");
System.Diagnostics.Debug.WriteLine("Message :{0} ", e.Message);
}
Beim Aufruf von GetAsync() kommt aber immer eine HttpRequestException :eek: Wenn ich "http://192.168.178.102/query?sendrc&rcmute" allerdings durch eine normale Webseite ersetzet, z.B. "http://www.google.de", dann funktioniert der Aufruf.
Weiss jemand, woran das liegen kann?
mfG
Elemental
edit:
Hmm, die innerException ist eine SocketException:
"Der Zugriff auf einen Socket war aufgrund der Zugriffsrechte des Sockets unzulässig 192.168.178.102:80"