C# HttpListener The format of the specified networ

2019-07-04 16:38发布

问题:

I have this tiny piece of code where I try to add prefixes for my HttpListener:

listener = new HttpListener();
listener.Prefixes.Add("http://192.168.0.108:8088/");
listener.Start();

Which throws:

System.Net.HttpListenerException (0x80004005): The format of the specified network name is not valid

I've tried everything: turning off firewall, running as administrator, registering given URL with netsh http urlacl and yet, nothing has worked so far.

I checked with netstat if that address is open to use and it is. The weird thing about this is that I have been using this address for a long time until Windows 10 Fall Creators Update, since this update, only localhost is working.

Is there anything else that I forgot about or might try?

回答1:

You probably forgot to configure your system to listen for HTTP protocol communication coming from the specified IP address. Try running the following command to include it:

netsh http add iplisten 192.168.0.108

Once this is done, check the list of the addresses (in which your IP should now appear):

netsh http show iplisten

and then try to run your code again.