Подтвердить что ты не робот

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

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

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;

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

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

4b9b3361

Ответ 1

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

Ответ 2

Если вы получаете ту же ошибку в разработке Windows 8, возможно, вы не разрешили доступ к частным сетям в вашем файле Package.appxmanifest:

Highlighting the Private Networks (Client & Server) option

Ответ 3

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

Проблема была и на моем конце. Тем не менее, я использовал smtp-клиент для отправки почты. Я запускаю PeerBlock и блокирует подозрительные IP-адреса. Я видел, что это блокировало один из IP-адресов, которые я отправлял, прежде чем он покинул мою сеть. Простое исключение правила и проблема была решена.

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

Ответ 4

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

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

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

Ответ 5

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

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

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

В конце концов, поиск этого тривиального вопроса стоил мне около 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 на вкладке "Сведения" в диспетчере задач.

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

4) Попытка доступа к порту 80 на localhost с помощью PUttY с Telnet на порт 80.
(обязательно установите ** Закрытие при выходе *, чтобы никогда)

<!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) Теперь было легко найти такие запущенные сервисы в диспетчере сервисов. Первый, который я нашел, который, вероятно, мог быть источником проблемы (поскольку он содержал WWW в его названии), был "WWW-Publishingdienst" (на моем компьютере на немецком языке), который означает "World Wide Web Publishing Service" на системах с английским языком языковые настройки. Я остановил службу и - Вуаля! Это стало причиной проблемы.

Ответ 6

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

  • Отключенный брандмауэр
  • Отключенный антивирус
  • Reset Стек TCP/IP
  • Перезагруженный компьютер
  • Проверенная строка подключения

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