Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/env python
- import sys
- import socket
- import argparse
- def main():
- parser = argparse.ArgumentParser(description="Socket Error")
- parser.add_argument('--host', action="store", dest="host", required=False)
- parser.add_argument('--port', action="store", dest="port", type=int, required=False)
- parser.add_argument('--file', action="store", dest="file", required=False)
- given_args = parser.parse_args()
- host = given_args.host
- port = given_args.port
- filename = given_args.file
- # create socket
- try:
- s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
- except socket.error, e:
- print "Error creating socket: %s" % e
- sys.exit(1)
- # connect to given host / port
- 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)
- # sending data
- try:
- s.sendall("GET %s HTTP/1.0\r\n\r\n" % filename)
- except socket.error, e:
- print "Error sending data: %s" % e
- sys.exit(1)
- # waiting to receive from remote host
- 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
- # write the received data
- sys.stdout.write(buf)
- if __name__ == '__main__':
- main()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement