Encoding.ASCII.GetBytes similar for Python ?
Rui
ruivaldo at gmail.com
Mon Sep 22 07:23:09 EDT 2008
Hi, how can i do what Encoding.ASCII.GetBytes (in .net, c#) does with
the strings. I am trying to query some dns server to check its
response using udp sockets. Some of the source below:
# encoding: utf8
import socket
import sys
import struct
IP_PORT = 53
server_host = ('4.2.2.1', IP_PORT)
transaction_id = "Q1"
TIMEOUT = 5
type_string =
"\u0001\u0000\u0000\u0001\u0000\u0000\u0000\u0000\u0000\u0000"
trailer_string = "\u0000\u0000\u0001\u0000\u0001"
address = 'google.com'
url_name_start, domain_name = address.split(".")
# Query format copied from the C# example.
#QueryString = TransactionID1 + TypeString + (char)URLNameStart.Length
+ URLNameStart + (char)DomainName.Length + DomainName+ TrailerString;
query = (transaction_id + type_string + str(len(url_name_start)) +
url_name_start +
str(len(domain_name)) + domain_name + trailer_string)
print query
sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
sock.settimeout(TIMEOUT)
sock.connect(server_host)
sock.send(query)
data = sock.recv(512)
for data_item in data:
try:
print chr(data_item)
except:
print data_item
But it just returns trash:
>python dns_checker.py
Q1\u0001\u0000\u0000\u0001\u0000\u0000\u0000\u0000\u0000\u00006google3com
\u0000\
u0000\u0001\u0000\u0001
Q
1
Ï
◄
Any advice ? Thanks!
More information about the Python-list
mailing list