读书人

python连接代理有关问题

发布时间: 2013-01-07 10:02:24 作者: rapoo

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是否有效

读书人网 >perl python

热点推荐