Была сделана попытка доступа к сокету таким образом, разрешения на доступ запрещен

Я только что загрузил C# SDK и ASP.NET образец MVC, модифицированный для работы с 4.2.1. (параметры веб-конфигурации facebookSettings и т. д.), создал свое приложение Facebook и попытался запустить его. Нажмите кнопку входа в facebook-ok, вводя учетные данные в Facebook popup-ok, позволяя доступ для моего приложения-ok, а затем я получаю эту ошибку:

система.Сеть.Розетки.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;

Tje app объект в порядке, я думаю (содержащий параметры настроек, объект сеанса с маркером доступа и мой идентификатор пользователя facebook и т. д.)

Я использую локальный адрес развития http://myappdev.local (для 127.0.0.1 в файле hosts). Тот же адрес установлен в моих настройках приложения facebook, а также domain myappdev.local - может ли это быть проблема? Я видел примеры использования localhost:1234 в некоторые учебники.

6 ответов


решена... мой плохой-мой брандмауэр "молча" блокировал рабочий процесс ISS от подключения к порту 443... Надеюсь, что хоть кого-то спасу от той же ошибки:)


Если вы получаете ту же ошибку в разработке Windows 8, это может быть, что вы не включили доступ через частные сети в вашем :

Highlighting the Private Networks (Client & Server) option


Я знаю, что это сообщение с 2011 года, но это все еще первый результат поиска google, соответствующий его названию дословно, что является точным кодом ошибки ;). В любом случае, я думал, что добавлю свои два цента для любого другого, имеющего ошибку, поскольку мое разрешение было похоже, но по-другому.

проблема была и с моей стороны. Однако я использовал smtp-клиент для отправки почты. Я запускаю PeerBlock, и он блокирует подозрительные IPs. Я видел, он один из ИПС я посылал до того, как он покинул мою сеть. Простое исключение из правила-и проблема решена.

TL; DR брандмауэры и другие инструменты фильтрации интернет-безопасности должны быть проверены, чтобы убедиться, что эта проблема не вызвана на вашем конце.


столкнулся с подобной проблемой, я проверил все, что может вызвать ошибку, это включает в себя правильный порт для использования, настройки брандмауэра даже операционная система проблем совместимости сервера, только чтобы узнать, что антивирус является причиной этого,

убедитесь, что отключить функцию вашего антивируса, который блокирует подключение сокета, или добавить к освобождению конкретного .exe или программа, которую вы хотите не blcocked.

мой использует McCafee, и я снимаю флажок функция в нем, которая блокирует соединение сокета для отправки почты, и это сработало.


я столкнулся с аналогичной проблемой, когда попытался запустить простое веб-приложение http, прослушивающее порт 80, написанный в Go (golang) на Windows 10 Home.

после некоторых исследований я узнал, что по некоторым причинам "World Wide Web Publishing Service" (W3SVC) работает. Остановка и отключение службы решили мою проблему.

Я никогда не использовал эту услугу. Я предполагаю, что установка Visual Studio Community 2013 в прошлом была установлена и включила эту службу. Когда я впервые столкнулся с проблемой, я подумал, что это проблема привилегий, как это имеет место в системах Linux, где приложения, прослушивающие порты

В конце концов, нахождение этой тривиальной проблемы стоило мне около 2 часов, поэтому я публикую этот ответ на эту довольно старую тему.

в основном это резюме того, что я сделал:

1) в Google сообщение об ошибке (как полностью содержится в вопросе этой темы).
- Ко многим вопросам, не связанным с моими конкретными вопросами, были возвращены.
- Я не нашел конкретного ответа, который решил бы мою проблему.
- Тем не менее, я нашел подсказки для дальнейшего анализа.

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) Процесс поиска #4 на вкладке подробности в Taskmanager.

этот показал, что задействована система (NT Kernel & System).

4) попытка доступа к порту 80 на localhost с помощью шпатлевки с Telnet к порту 80.
(не забудьте установить * * Closing on exit * в никогда)

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN""http://www.w3.org/TR/html4/strict.dtd">
<HTML><HEAD><TITLE>Bad Request</TITLE>
<META HTTP-EQUIV="Content-Type" Content="text/html; charset=us-ascii"></HEAD>
<BODY><h2>Bad Request - Invalid Verb</h2>
<hr><p>HTTP Error 400. The request verb is invalid.</p>
</BODY></HTML>
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) теперь было легко искать такие запущенные службы в service manager. Первый, который я обнаружил, что, вероятно, может быть источником проблемы (поскольку он содержал WWW в своем названии), был "WWW-Publishingdienst" (на моем компьютере на немецком языке), который означает "World Wide Web Publishing Service" на системах с настройками английского языка. Я остановил службу, и - вуаля! Это было причиной проблемы.


Я запускаю MySQL DB локально, и у меня была аналогичная проблема. Я сделал все шаги, показанные в сообщениях, связанных с той же проблемой:

  • отключен брандмауэр
  • антивирус отключен
  • сброс стека TCP/IP
  • перезапустить компьютер
  • проверил строку подключения

ничего из этого не сработало. Я узнал, что проблема для меня была моей VPN (Astrill). По какой-то причине это приводило к сбою этих соединений localhost. Отключение от VPN исправило мою проблему.