Files
Arjun/core/requester.py

36 lines
1.2 KiB
Python
Raw Normal View History

2019-10-23 12:59:47 +05:30
import re
2019-04-12 18:09:35 +05:30
import json
2018-11-09 20:32:08 +05:30
import time
import random
import requests
import warnings
import core.config as mem
2018-11-09 20:32:08 +05:30
from core.colors import bad
2019-04-12 18:09:35 +05:30
2018-11-09 20:32:08 +05:30
warnings.filterwarnings('ignore') # Disable SSL related warnings
def requester(request, payload={}):
if request['include']:
payload.update(request['include'])
if mem.var['stable']:
mem.var['delay'] = random.choice(range(6, 12))
time.sleep(mem.var['delay'])
url = request['url']
if 'Host' not in request['headers']:
this_host = re.search(r'https?://([^/]+)', url).group(1)
request['headers']['Host'] = this_host.split('@')[1] if '@' in this_host else this_host
if mem.var['kill']:
return 'killed'
try:
if request['method'] == 'GET':
response = requests.get(url, params=payload, headers=request['headers'], verify=False, timeout=mem.var['timeout'])
elif request['method'] == 'JSON':
response = requests.post(url, json=json.dumps(payload), headers=request['headers'], verify=False, timeout=mem.var['timeout'])
else:
response = requests.post(url, data=payload, headers=request['headers'], verify=False, timeout=mem.var['timeout'])
return response
except Exception as e:
return str(e)