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字符串替换的2种方法

python 字符串替换 是python 操作字符串的时候经常会碰到的问题,这里简单介绍下字符串替换方法。 python 字符串替换可以用2种方法实现: 1是用字符串本身的方法。 2用正...

Python实现短网址ShortUrl的Hash运算实例讲解

本文实例讲述了Python实现短网址ShortUrl的Hash运算方法。分享给大家供大家参考。具体如下: shorturl实现常见的做法都是将原始Url存储到数据库,由数据库返回一个对应...

numpy添加新的维度:newaxis的方法

numpy添加新的维度:newaxis的方法

numpy中包含的newaxis可以给原数组增加一个维度 np.newaxis放的位置不同,产生的新数组也不同 一维数组 x = np.random.randint(1, 8, si...

详解python字节码

Python对不可变序列进行重复拼接操作效率会很低,因为每次都会生成一个新的对象,解释器需要把原来对象中的元素先复制到新的对象里,然后再追加新的元素。 但是CPython对字符串操作进行...

python通过socket实现多个连接并实现ssh功能详解

python通过socket实现多个连接并实现ssh功能详解

一、前言   上一篇中我们已经知道了客户端通过socket来连接服务端,进行了一次数据传输,那如何实现客户端多次发生数据?而服务端接受多个客户端呢? 二、发送中文信息   在python...