admin
2021-02-06 d1f26741bddf6f512d62c0100d42c52be8d37e76
fanli/src/main/java/com/yeshi/fanli/util/ProxyUtil.java
@@ -1,53 +1,53 @@
package com.yeshi.fanli.util;
import java.util.ArrayList;
import java.util.List;
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
import com.yeshi.fanli.entity.address.Address;
public class ProxyUtil {
   private static final String url="http://118.190.209.189:8080/nv/api/client/ip/getproxyips";
package com.yeshi.fanli.util;
import java.util.ArrayList;
import java.util.List;
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
import com.yeshi.fanli.entity.address.Address;
public class ProxyUtil {
   private static final String url="http://118.190.209.189:8080/nv/api/client/ip/getproxyips";
   private static final List<Address> addressPool = new ArrayList<Address>(); 
   private volatile static int pointer=0; //指针
   public static void updateProxyPool(){
      try{
         String ips = TaoBaoHttpUtil.get(url,false);
         JSONArray array = JSONArray.fromObject(ips);
         Address address = null;
         int size = addressPool.size();
         for (Object obj : array) {
            JSONObject data = (JSONObject)obj;
            String ip = data.optString("ip");
            int port = Integer.parseInt(data.optString("port"));
            address = new Address(ip,port);
            addressPool.add(address);
         }
         for(int i=0;i<size-1;i++){
            addressPool.remove(i);
         }
      }catch(Exception e){
         System.out.println("代理更新失败");
      }
   }
   public static Address getAddressProxy(){
      int size = addressPool.size();
       if(size==0){
          return null;
       }
       if(size-2 >= pointer){
          pointer++;
       }else{
          pointer=0;
       }
       return addressPool.get(pointer);
   }
}
   private volatile static int pointer=0; //指针
   public static void updateProxyPool(){
      try{
         String ips = TaoBaoHttpUtil.get(url,false);
         JSONArray array = JSONArray.fromObject(ips);
         Address address = null;
         int size = addressPool.size();
         for (Object obj : array) {
            JSONObject data = (JSONObject)obj;
            String ip = data.optString("ip");
            int port = Integer.parseInt(data.optString("port"));
            address = new Address(ip,port);
            addressPool.add(address);
         }
         for(int i=0;i<size-1;i++){
            addressPool.remove(i);
         }
      }catch(Exception e){
         System.out.println("代理更新失败");
      }
   }
   public static Address getAddressProxy(){
      int size = addressPool.size();
       if(size==0){
          return null;
       }
       if(size-2 >= pointer){
          pointer++;
       }else{
          pointer=0;
       }
       return addressPool.get(pointer);
   }
}