У меня есть скрипт Python, который должен отправлять асинхронные http-запросы.
Запросы должны быть неблокирующими, так как скрипт не обрабатывает и не проверяет возвращаемый текст.
У меня есть код:
data = dict( ... )
url = 'devserv...co.uk'
c = pycurl.Curl()
c.setopt(pycurl.URL, url)
c.setopt(pycurl.USERPWD, 'username:password')
c.setopt(pycurl.SSL_VERIFYPEER, 0)
c.setopt(pycurl.SSL_VERIFYHOST, 0)
c.setopt(pycurl.HTTPHEADER, ['Alert: '+ json.dumps(data)])
#c.perform()
m = pycurl.CurlMulti()
m.add_handle(c)
m.perform()
apply(select.select, m.fdset() + (1,))
m.perform()
return
По причине, которую я не могу определить, данные не отправляются. Когда я раскомментирую строку
c.perform()
и отправить стандартный блокирующий синхронный запрос, он отлично работает.
Я был бы очень признателен, если бы кто-нибудь мог дать мне понять, почему это может быть.