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 Just get Response Headers, not get content. 1. Use HEAD method >>> import r...

python中用logging实现日志滚动和过期日志删除功能

logging库提供了两个可以用于日志滚动的class(可以参考https://docs.python.org/2/library/logging.handlers.html),一个是R...

Django框架多表查询实例分析

本文实例讲述了Django框架多表查询。分享给大家供大家参考,具体如下: 多表查询是模型层的重要功能之一, Django提供了一套基于关联字段独特的解决方案. ForeignKey 来自...

python中使用while循环的实例

python中使用while循环的实例

python中for循环用于针对集合中的每个元素的一个代码块,而while循环能实现满足条件下的不断运行。 使用while循环时,由于while只要满足条件就会执行代码,故必须指定结束条...

python使用xslt提取网页数据的方法

python使用xslt提取网页数据的方法

1、引言 在Python网络爬虫内容提取器一文我们详细讲解了核心部件:可插拔的内容提取器类gsExtractor。本文记录了确定gsExtractor的技术路线过程中所做的编程实验。这是...