def read(self, request, operation): operation = "%s" % operation baseUrl = cleanUrl(settings.CATALOGUE_URL) conn = Connection(baseUrl) result = conn.request_get(operation) #, headers={'Accept':'application/json'}) response = HttpResponse(result['body'], mimetype='application/json; charset=UTF-8') return response
def read(self, request, operation): operation = "%s" % operation baseUrl = cleanUrl(settings.CATALOGUE_URL) conn = Connection(baseUrl) result = conn.request_get( operation) #, headers={'Accept':'application/json'}) response = HttpResponse(result['body'], mimetype='application/json; charset=UTF-8') return response
def _make_request(self, base_url, resource, args=None): """ wrapper for rest client and json libraries """ conn = Connection(base_url) # TODO: is "headers" part necessary? response = conn.request_get(resource, args, headers={'Accept':'text/json'}) data = json.loads(response['body']) return data
if __name__ == '__main__': ip='127.0.0.1' print 'pyminifakeDNS:: dom.query. 60 IN A %s' % ip udps = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) udps.bind(('127.0.0.1',53)) try: while 1: data, addr = udps.recvfrom(1024) p=DNSQuery(data) base_url = "http://dig.jsondns.org/IN/" + p.domain conn = Connection(base_url) qr = conn.request_get("/A", args={}) qr2 = qr['body'] obj = json.loads(qr2) obj2 = obj['answer'] ip = obj2[0][u'rdata'] udps.sendto(p.request(ip), addr) # Write to HOSTS file f = open('/etc/hosts', 'a') f.write(ip + ' ' + p.domain[:-1] + '\n') f.close() print 'Request: %s -> %s' % (p.domain, ip) except KeyboardInterrupt: print 'Keyboard Interrupt'