1. 程式人生 > >C#Http伺服器報HttpListener拒絕訪問異常解決方法

C#Http伺服器報HttpListener拒絕訪問異常解決方法

問題:Win7下在嘗試搭建簡單http伺服器的時候,執行httpListener.Start();報錯HttpListener拒絕訪問異常 程式碼如下: HttpListener httpListener = new HttpListener();//建立伺服器監聽 httpListener.Prefixes.Add("http://+:8080/");//配置監聽地址。+代表本機可能的IP如localhost、127.0.0.1、192.168.199.X(本機IP)等; httpListener.Start(); //開啟對指定URL和埠的監聽,開始處理客戶端輸入請求。 解決方法: 以管理員CMD命令列執行:
①先刪除可能存在的錯誤urlacl,這裡的*號代指localhost、127.0.0.1、192.168.199.X本地地址和+號等。 命令:netsh http delete urlacl url=http://*:8080/  舉例:netsh http delete urlacl url=http://+:8080/  ②將上面刪除的*號地址重新加進url,user選擇所有人 命令:netsh http add urlacl url=http://*:8080/  user=Everyone 舉例:netsh http add urlacl url=http://+:8080/  user=Everyone ③CMD配置防火牆
netsh advfirewall firewall Add rule name=\"命令列Web訪問8080\" dir=in protocol=tcp localport=8080 action=allow 經過如上設定服務端就可以以httpListener.Prefixes.Add("http://+:8080/");監聽地址開啟監聽。客戶端可以通過訪問服務端8080埠。服務端本機也可以在瀏覽器中以localhost和127.0.0.1訪問自身http伺服器。 17.8.23補充: 上面的命令最好手打一下輸入,今天嘗試複製到cmd執行的時候會報無法識別命令的錯誤。