尝试以其访问权限禁止的方式访问套接字
我刚刚下载了C#SDK和ASP.NET MVC示例,修改它以使用4.2.1。 (web config facebookSettings参数等),创建了我的Facebook应用程序并尝试运行它。 点击Facebook登录按钮 – 好吧,输入凭据进入facebook弹出窗口 – 确定,允许访问我的应用程序 – 好的,然后我收到此错误:
System.Net.Sockets.SocketException:尝试以其访问权限禁止的方式访问套接字66.220.146.47:443
var app = new FacebookApp(); if (app.Session == null) { // The user isnt logged in to Facebook // send them to the home page return RedirectToAction("Index"); } // Get the user info from the Graph API dynamic me = app.Api("/me"); // EXCEPTION THROWN HERE ViewData["FirstName"] = me.first_name; ViewData["LastName"] = me.last_name;
我认为app
对象是正确的(包含设置参数,具有访问令牌的会话对象和我的facebook用户ID等)
我使用本地开发地址http://myappdev.local
(在hosts文件中设置为127.0.0.1
)。 在我的Facebook应用设置中设置了相同的地址,也是域myappdev.local
– 这可能是问题吗? 我在一些教程中看到了使用localhost:1234
的示例。
解决了…我的坏 – 我的防火墙“默默地”阻止ISS工作进程连接端口443 …我希望至少我从同一个错误中拯救了一些人:)
如果您在Windows 8开发中遇到相同的错误,可能是您未在Package.appxmanifest
文件中启用通过专用网络访问:
我知道这篇文章是从2011年开始的,但它仍然是谷歌搜索匹配其标题逐字的第一个结果,这恰好是确切的错误代码;)。 任何人,我以为我会为其他有错误的人加上我的两分钱,因为我的解决方案类似但不同。
问题也在我的最后。 不过,我正在使用smtp客户端发送邮件。 我运行PeerBlock,它阻止了可疑的IP。 我看到它阻止了我离开网络之前发送的IP之一。 一个简单的规则exception和问题就解决了。
应检查TL; DR防火墙和其他互联网安全过滤工具,以确保不会导致此问题。
面对类似的问题,我检查了可能导致错误的一切,这包括正确的端口使用,防火墙设置甚至操作系统的服务器兼容性问题,只是发现反病毒是造成它的那个,
确保禁用阻止套接字连接的防病毒function,或者添加免除特定的.exe或程序,以免被blcocked。
我使用McCafee,我取消选中阻止套接字连接发送邮件的function,并且它有效。
当我尝试运行一个简单的http Web应用程序,在Windows 10 Home上用Go(golang)编写的端口80上运行时,我遇到了类似的问题。
经过一些研究后,我发现由于某些原因,“万维网发布服务”(W3SVC)正在运行。 停止和禁用该服务解决了我的问题。
我从未使用过这项服务。 我想过去安装并启用了Visual Studio Community 2013安装并启用了此服务。 当我第一次遇到这个问题时,我认为这是一个特权问题,因为在Linux系统上,侦听端口<1023的应用程序必须以root权限运行。 但在Windows 1023中并非如此。
毕竟,找到这个微不足道的问题花了我大约2个小时,这就是为什么我把这个答案发布到这个相当古老的线程。
基本上这是我所做的总结:
1)谷歌的错误信息(完全包含在这个线程的问题)。
– 返回了与我的具体问题无关的许多问题。
– 我找不到解决问题的具体答案。
– 但是,我发现了进一步分析的提示。
2)第一个提示是使用netstat。
netstat -o -n -a | findstr 0.0.0.0:80 netstat -o -n -a | findstr 127.0.0.1:80
原来,Id 4的进程正在侦听端口80。
3)在Taskmanager的Details选项卡上查找Process#4。
这表明涉及系统(NT内核和系统)。
4)尝试使用带有Telnet到端口80的PUttY访问localhost上的端口80。
(确保设置**关闭退出* 永不 )
Bad Request Bad Request - Invalid Verb
HTTP Error 400. The request verb is invalid.
HTTP/1.1 400 Bad Request Content-Type: text/html; charset=us-ascii Server: Microsoft-HTTPAPI/2.0 Date: Thu, 05 Oct 2017 13:13:29 GMT Connection: close Content-Length: 326
5)到目前为止收集的信息没有提供具体的提示,但允许我在Google上进行更具体的搜索。 现在,Google返回的信息表明,在端口80上侦听的某些系统服务很可能是问题的根源。
6)现在很容易在服务管理器中查找这样的运行服务。 我发现的第一个可能是问题的根源(因为它的名字中包含WWW)是“WWW-Publishingdienst”(在我的德语电脑上),它代表英语系统上的“万维网发布服务”语言设定。 我停止了服务 – 瞧! 这是问题的原因。
我在本地运行MySQL数据库,我遇到了类似的问题。 我完成了与同一问题相关的post中显示的所有步骤:
- 禁用防火墙
- 禁用杀毒软件
- 重置TCP / IP堆栈
- 重启电脑
- validation连接字符串
这些都没有奏效。 我发现问题对我来说就是我的VPN(Astrill)。 由于某种原因,它导致这些localhost连接失败。 断开与VPN连接解决了我的问题。