hi, I posted this on stackoverflow but got no comment or answer.
Any suggestion on what's going on, or how I can make this a better question?
http://stackoverflow.com/questions/29827642/asynchronous-aiohttp-requests-fails-but-synchronous-requests-succeed
With the following code I get "Cannot connect to host ...:443 ssl:True" when I use the asynchronous aiohttp. When I use synchronous requests, it succeeds.
The
whitehouse.gov links fail, but the
google.com succeeds for both async and sync cases.
What is going wrong? This is with python 3.4.2 on FreeBSD8, aiohttp 0.14.4, requests 2.5.3
CODE:
import asyncio
import aiohttp
import requests
urls = [
'
http://www.whitehouse.gov/cea/',
'
http://www.whitehouse.gov/omb',
'
http://www.google.com']
def test_sync():
for url in urls:
r = requests.get(url)
print(r.status_code)
def test_async():
for url in urls:
try:
r = yield from aiohttp.request('get', url)
except aiohttp.errors.ClientOSError as e:
print('bad eternal link %s: %s' % (url, e))
else:
print(r.status)
if __name__ == '__main__':
print('async')
asyncio.get_event_loop().run_until_complete(test_async())
print('sync')
test_sync()
RESULT:
async
bad eternal link
http://www.whitehouse.gov/cea: Cannot connect to host
www.whitehouse.gov:443 ssl:True
bad eternal link
http://www.whitehouse.gov/omb: Cannot connect to host
www.whitehouse.gov:443 ssl:True
200
sync
200
200
200
thanks for any advice,
--Tim