rabin 4 years ago
parent
commit
dccdb73b31
1 changed files with 12 additions and 6 deletions
  1. 12 6
      demeter/core.py

+ 12 - 6
demeter/core.py

@@ -392,13 +392,19 @@ class Demeter(object):
 		return value
 
 	@classmethod
-	def curl(self, url = '', param={}, method = 'get'):
+	def curl(self, url = '', param={}, method = 'get', timeout=5, max=2):
 		import requests
-		if method == 'get':
-			req = requests.get(url, params=param)
-		else:
-			req = requests.post(url, params=param)
-		result = req.text
+		try:
+			s = requests.Session()
+			s.mount('http://', HTTPAdapter(max_retries=max))
+			s.mount('https://', HTTPAdapter(max_retries=max))
+			if method == 'get':
+				req = s.get(url, params=param, timeout=timeout)
+			else:
+				req = s.post(url, params=param, timeout=timeout)
+			result = req.text
+		except requests.exceptions.RequestException as e:
+			result = False
 		return result
 
 	@classmethod