-
Notifications
You must be signed in to change notification settings - Fork 3
/
driver.py
38 lines (30 loc) · 1021 Bytes
/
driver.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
import socket
try:
from django.conf import settings
except ImportError:
import settings
import logging
driver_logger = logging.getLogger("driver")
driver_logger.setLevel(settings.LOG_LEVEL)
def netcat(hostname, port, content):
try:
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
driver_logger.debug("Trying connection to: %s:%s" % (hostname, port))
s.connect((hostname, port))
driver_logger.debug("Connected to: %s:%s" % (hostname, port))
s.sendall(b"%s\n" % content)
driver_logger.debug("sent: %s" % content)
s.shutdown(socket.SHUT_WR)
buff = ""
while True:
data = s.recv(1024)
if data == "":
break
buff = "%s%s" % (buff, data)
driver_logger.debug("Received: %s" % repr(buff))
s.close()
driver_logger.debug("Connection closed.")
return repr(buff)
except Exception as ex:
driver_logger.error("ERROR: %s" % ex)
raise ex