Python Urllib.urlopen: IOError: [Ошибка сокета Errno] [Errno 10060] [дубликат]

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

if (!name) {
  name = async1();
}
async2(name);

. В итоге вы пройдете через async1; проверьте, не определено ли name или нет, и соответственно вызовите обратный вызов.

async1(name, callback) {
  if (name)
    callback(name)
  else {
    doSomething(callback)
  }
}

async1(name, async2)

Хотя в в порядке хорошо , это раздражает, когда у вас много подобных случаев и обработка ошибок.

Fibers помогает в решении проблемы.

var Fiber = require('fibers')

function async1(container) {
  var current = Fiber.current
  var result
  doSomething(function(name) {
    result = name
    fiber.run()
  })
  Fiber.yield()
  return result
}

Fiber(function() {
  var name
  if (!name) {
    name = async1()
  }
  async2(name)
  // Make any number of async calls from here
}

Вы можете проверить проект здесь .

12
задан ronak 10 April 2013 в 22:36
поделиться

2 ответа

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

Вы можете попытаться подключить один и тот же хост к другим инструментам (например, ncat) и / или с другим ПК в вашем той же локальной сети, чтобы выяснить, где эта проблема возникает.

Для проблемы с прокси-сервером здесь есть некоторые материалы:

Использование HTTP PROXY-Python

Почему я не могу заставить метод urlopen () Python работать в Windows?

Надеюсь, это поможет!

11
ответ дан Community 28 August 2018 в 10:38
поделиться

Это связано с настройками прокси-сервера. У меня также была та же проблема, при которой я не мог использовать ни один из модулей, которые извлекали данные из Интернета. Простые шаги: 1. открыть панель управления 2. открыть интернет-версии 3. на вкладке «Подключение» открыть настройки локальной сети 4. перейти к настройкам и отменить все, удалить все прокси-серверы там. Или вы можете просто снять отметку с флажка на прокси-сервере, это также сделает то же самое 5. Сохраните все настройки, щелкнув ok. вы сделали. попробуйте запустить программу еще раз, она должна работать, это сработало для меня как минимум

0
ответ дан Nawrez 28 August 2018 в 10:38
поделиться
Другие вопросы по тегам:

Похожие вопросы: