zoukankan      html  css  js  c++  java
  • python代理检测

    import socket,threading,os,sys,queue,re
    socket.setdefaulttimeout(5)
    path=sys.path[0]
    if os.path.isfile(path):
        path=os.path.split(path)[0]

            

    domain='www.baidu.com'
    que=queue.Queue()
    tno=20
    a=open(path+r'proxy.txt').read().strip().split()
    for i in a:
        que.put(i.split(':'))
        

    data='''GET http://www.baidu.com/ HTTP/1.1
    Host: www.baidu.com
    User-Agent: Mozilla/5.0 (Windows NT 5.1) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.46 Safari/535.11
    Accept: */*
    Accept-Charset: GBK,utf-8;q=0.7,*;q=0.3

    '''


    def geturl():
        while True:
            if que.empty():
                return False
            proxy,port=que.get(timeout=1)
            try:
                s=socket.socket()
                s.connect((proxy,int(port)))
                s.send(data.encode())
                da=s.recv(1024).decode('utf8','ignore')
                if '200 OK' in da:
                    open(path+r'proxyok.txt','at').write(proxy+':'+port+' ')
                    print(proxy+':'+port,'可用')
            except Exception as err:
                print(proxy,port,err)
                print(proxy,port,err,file=open(path+r'err.txt','at'))
                pass
            finally:
                s.close()

    for i in range(tno):
        threading.Thread(target=geturl).start()
  • 相关阅读:
    linux redis安装 5.0.2
    Linux nginx安装步骤 centos7
    fastjson JSONObject.toJSONString 出现 $ref: "$."的解决办法(重复引用)
    docker redis安装及配置(外网访问 关闭安全限制 设置密码)
    JDK dump
    mysql8 修改root密码
    docker系列详解<二>之常用命令
    获取地理位置
    js调用摄像头
    点击时扩散效果
  • 原文地址:https://www.cnblogs.com/jackyshan/p/3545524.html
Copyright © 2011-2022 走看看