Reputation: 25535
I'm making multiple connection to API. Making delete query. I got that error on a 3000'th query.
Something like this:
def delete_request(self,path):
opener = urllib2.build_opener(urllib2.HTTPHandler)
request = urllib2.Request('%s%s'%(self.endpoint,path))
signature = self._gen_auth('DELETE', path, '')
request.add_header('X-COMPANY-SIGNATURE-AUTH', signature)
request.get_method = lambda: 'DELETE'
resp = opener.open(request)
Than in console:
for i in xrange(300000):
con.delete_request('/integration/sitemap/item.xml/media/%d/' % i)
After about 3000'th request it says:
URLError: urlopen error [Errno 10048]
Only one usage of each socket address (protocol/network address/port)
is normally permitted
Upvotes: 4
Views: 12949
Reputation: 47572
The error comes from Windows itself, see Avoiding TCP/IP Port Exhaustion. To fix the error close your connection, you are not calling opener.close() hence leaking sockets.
Upvotes: 9