2014-01-20 13:35:18 -05:00
|
|
|
try:
|
|
|
|
import rawsocket as _socket
|
|
|
|
except:
|
|
|
|
import _socket
|
|
|
|
|
|
|
|
|
|
|
|
s = _socket.socket()
|
2014-01-18 16:49:06 -05:00
|
|
|
|
|
|
|
if 1:
|
2014-01-20 13:35:18 -05:00
|
|
|
ai = _socket.getaddrinfo("google.com", 80)
|
2014-01-18 16:49:06 -05:00
|
|
|
print("Address infos:", ai)
|
|
|
|
addr = ai[0][4]
|
|
|
|
else:
|
2014-01-20 13:35:18 -05:00
|
|
|
# Deprecated ways to construct connection address
|
|
|
|
addr = _socket.sockaddr_in()
|
2014-01-18 16:49:06 -05:00
|
|
|
addr.sin_family = 2
|
|
|
|
#addr.sin_addr = (0x0100 << 16) + 0x007f
|
|
|
|
#addr.sin_addr = (0x7f00 << 16) + 0x0001
|
2014-01-20 13:35:18 -05:00
|
|
|
#addr.sin_addr = _socket.inet_aton("127.0.0.1")
|
|
|
|
addr.sin_addr = _socket.gethostbyname("google.com")
|
|
|
|
addr.sin_port = _socket.htons(80)
|
2014-01-18 16:49:06 -05:00
|
|
|
|
|
|
|
print("Connect address:", addr)
|
|
|
|
s.connect(addr)
|
|
|
|
|
2014-01-20 13:35:18 -05:00
|
|
|
if 0:
|
|
|
|
# MicroPython rawsocket module supports file interface directly
|
|
|
|
s.write("GET / HTTP/1.0\n\n")
|
|
|
|
print(s.readall())
|
|
|
|
else:
|
|
|
|
s.send(b"GET / HTTP/1.0\n\n")
|
|
|
|
print(s.recv(4096))
|