#!/usr/bin/evn python
# Error Handling Example - Chapter 2 - socketerrors.py
import socket, sys
host = sys.argv[1]
textport = sys.argv[2]
filename = sys.argv[3]
try:
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
except socket.error, e:
print "Strange error creating socket: %s" % e
sys.exit(1)
# Try parsing it as numeric port number.
try:
port = int(textport)
except ValueError:
# That didn't work, so it's probably a protocol name.
# Look it up instead
try:
port = socket.getservbyname(textport, 'tcp')
except socket.error, e:
print "Couldn't find your port: $s" % e
sys.exit(1)
try:
s.connect((host, port))
except socket.gaierror, e:
print "Address-related error connecting to server: %s" % e
sys.exit(1)
except socket.error, e:
print "Connection error: %s" % e
sys.exit(1)
try:
s.sendall("GET %s HTTP/2.0\r\n\r\n" % filename)
except socket.error, e:
print "Error sending data: %s" % e
sys.exit(1)
while 1:
try:
buf = s.recv(2048)
except socket.error, e:
print "Error receiving data: %s" % e
sys.exit(1)
if not len(buf):
break
sys.stdout.write(buf)
This entry was posted on Tuesday, March 8th, 2016 at 15:04 and is filed under Linux, Python. You can follow any responses to this entry through the RSS 2.0 feed.
Both comments and pings are currently closed.