python使用socket远程连接错误处理方法

yipeiwu_com6年前Python基础

本文实例讲述了python使用socket远程连接错误处理方法。分享给大家供大家参考。具体如下:

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:
  port = int(textport)
except ValueError:
  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/1.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)

希望本文所述对大家的Python程序设计有所帮助。

相关文章

python错误调试及单元文档测试过程解析

这篇文章主要介绍了python错误调试及单元文档测试过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 错误分为程序的错误和由用户...

python自定义函数实现最大值的输出方法

python中内置的max()函数用来得到最大值,通过冒泡排序也可以。 #!/usr/bin/python def getMax(arr): for i in range(0...

解决python写入mysql中datetime类型遇到的问题

刚开始使用python,还不太熟练,遇到一个datetime数据类型的问题: 在mysql数据库中,有一个datetime类型的字段用于存储记录的日期时间值。python程序中有对应的一...

Python中for循环详解

与其它大多数语言一样,Python 也拥有 for 循环。你到现在还未曾看到它们的唯一原因就是,Python 在其它太多的方面表现出色,通常你不需要它们。 其它大多数语言没有像 Pyth...

Python深入学习之装饰器

装饰器(decorator)是一种高级Python语法。装饰器可以对一个函数、方法或者类进行加工。在Python中,我们有多种方法对函数和类进行加工,比如在Python闭包中,我们见到函...