首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > perl python >

python连接代理有关问题

2013-01-07 
python连接代理问题怎么让下面的程序一直开着啊?运行了以后出现一个错误Traceback (most recent call last

python连接代理问题
怎么让下面的程序一直开着啊?

运行了以后出现一个错误

Traceback (most recent call last):

  File "G:/python/yufa/one.py", line 36, in <module>

    myproxy()

  File "G:/python/yufa/one.py", line 19, in myproxy

    data = conn.recv(BF)

  File "C:\Python27\lib\socket.py", line 170, in _dummy

    raise error(EBADF, 'Bad file descriptor')

socket.error: [Errno 9] Bad file descriptor


#encoding:utf-8
from socket import *
from time import ctime
import re
def myproxy():
    HOST=''
    PORT=12345
    BF = 2048
    ADDR = (HOST,PORT)

    tcp = socket(AF_INET,SOCK_STREAM)
    tcp.bind(ADDR)
    tcp.listen(5)

    while True:
        conn, addr = tcp.accept()
        ddata = ''
        while True:
            data = conn.recv(BF)
            if not data:break
            dl = socket(AF_INET,SOCK_STREAM)
            dl.connect(('222.197.181.5',3128))
            dl.send(data)
            while True:
                ddata = dl.recv(BF)
                print ddata
                conn.send(ddata)
                #parrent = re.compile('</html>')
                #result = parrent.match(ddata)
                if not ddata:
                    #最后没有数据的时候关闭代理连接资源
                    dl.close()
                    break
            conn.close()

myproxy()

[解决办法]
检查 conn, addr = tcp.accept()
返回的conn是否有效

热点排行