信息发布软件,b2b软件,广告发布软件

 找回密码
 立即注册
搜索
查看: 2338|回复: 2
打印 上一主题 下一主题

[『 Java 图文教程』] 代理模式之Java动态代理和多种方法实例教程

  [复制链接]

65

主题

176

帖子

1557

积分

积分
1557
跳转到指定楼层
宣传软件楼主
发表于 2016-9-26 13:45:03 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

软件教程首图:

软件教程分类:Java 图文教程 

软件图文教程视频教程分类:软件图文教程 

软件教程难易程度:软件初级教程 

软件教程发布日期:2016-09-26

软件教程关键字:Java动态代理

① 本信息收集于网络,如有不对的地方欢迎联系我纠正!
② 本信息免费收录,不存在价格的问题!
③ 如果您的网站也想这样出现在这里,请您加好友情链接,我当天会审核通过!

④友情链接关键字:软件定制网站 网址:http://www.postbbs.com

软件教程详细描述

  1. Overview

Java在java.lang.reflect包下,定义了自己的代理。利用这个包下的类,我们可以在运行时动态地创建一个代理类,实现一个或多个接口。并将方法的调用转发到你所指定的类。因为实际代理是在运行时创建的,所以称为:动态代理。

代理模式之Java动态代理和多种方法实例教程 b2b软件

Proxy:完全由java产生的,而且实现了完整的subject接口。

InvocationHandler:Proxy上的任何方法调用都会被传入此类,InvocationHandler控制对RealSubject的访问。

因为Java已经帮助我们创建了Proxy类,我们需要有办法告诉Proxy类你要做什么,我们不能像以前一样把代码写入到Proxy类中,因为Proxy类不是我们实现的。那么我们应该放在哪里?放在InvocationHandler类中,InvocationHandler类是响应代理的任何调用。我们可以吧InvocationHandler想成是代理收到方法调用后,请求做实际工作的对象。

  2. java.lang.reflect.InvocationHandler

被代理实例所实现的一个接口,内部只有一个invoke()方法,签名如下;

Java代码

public Object invoke(Object proxy, Method method, Object[] args)

当代理的方法被调用的时候,代理就会把这个调用转发给InvocationHandler,也就会调用它的invoke()方法。


  3. java.lang.reflect.Proxy

提供用于创建动态代理类和实例的静态方法,它还是由这些方法创建的所有动态代理类的超类,我们经常使用的静态方式是:

Java代码

newProxyInstance(ClassLoader loader, Class[] interfaces, InvocationHandler h)

  4. 示例:

情形:自己可以查看修改姓名性别,但是不能修改rate。他人可以查看姓名,性别以及修改rate,但是不能修改姓名性别。

4.1 定义一个接口:

Java代码

public interface Person {

String getName();

String getGender();

void setName(String name);

void setGender(String gender);

void setRate(int rate);

int getRate();

}

4.2 定义实现Person接口类

Java代码

public class PersonImpl implements Person {

String name;

String gender;

String interests;

int rate;

public String getName() {

return name;

}

public void setName(String name) {

this.name = name;

}

public String getGender() {

return gender;

}

public void setGender(String gender) {

this.gender = gender;

}

public String getInterests() {

return interests;

}


public void setInterests(String interests) {

this.interests = interests;

}

public int getRate() {

return rate;

}

public void setRate(int rate) {

this.rate = rate;

}[nextpage]

4.3 定义OwnerInvocationHandler类,表示如果为本人,则可以进行修改查看姓名性别。

Java代码

public class OwnerInvocationHandler implements InvocationHandler{

private Person personBean;

public OwnerInvocationHandler(Person personBean){

this.personBean = personBean;

}

@Override

public Object invoke(Object proxy, Method method, Object[] args)

throws IllegalAccessException {

try {

if(method.getName().startsWith("get")){//如果方法名为get,就调用person类内的get相应方法

return method.invoke(personBean, args);

}else if(method.getName().equals("setRate")){ // 如果方法是setRate,则抛出异常

throw new IllegalAccessException("access deny");

}else if(method.getName().startsWith("set")){ //如果为set,就调用person类内的set相应方法

return method.invoke(personBean, args);

}else {

System.out.println("non method invoke");

}

} catch (InvocationTargetException e) {

e.printStackTrace();

}

return null;

}

}

4.4 定义NonInvocationHandler类,表示如果不为本人,则可以进行查看姓名性别和修改rate。

Java代码

public class NonInvocationHandler implements InvocationHandler{

//


private Person person;

public NonInvocationHandler(Person person){

this.person = person;

}

@Override

public Object invoke(Object proxy, Method method, Object[] args)

throws Throwable {

if(method.getName().startsWith("setRate")){

return method.invoke(person, args);

}else if (method.getName().startsWith("get")){

return method.invoke(person, args);

} else {

System.out.println("non method invoke");

return null;

}

}

}

4.5 测试类MyDynamicProxy

Java代码

public class MyDynamicProxy {

public Person getOwnerPersonBeanProxy(Person person){

return (Person)Proxy.newProxyInstance(person.getClass().getClassLoader(),

person.getClass().getInterfaces(), new OwnerInvocationHandler(person));

}

public Person getNonPersonBeanProxy(Person person){

return (Person)Proxy.newProxyInstance(person.getClass().getClassLoader(),

person.getClass().getInterfaces(), new NonInvocationHandler(person));

}

public static void main(String[] args) {

MyDynamicProxy mdp = new MyDynamicProxy();

mdp.test();

}

public void test(){

//

Person person = getPersonBeanFromDB1();

Person personProxy = getOwnerPersonBeanProxy(person);

System.out.println(personProxy.getName());

try {

personProxy.setRate(2);

} catch (Exception e) {

System.out.println("can not setRate");

}

//

Person person1 = getPersonBeanFromDB1();

Person personProxy2 = getNonPersonBeanProxy(person1);

System.out.println(personProxy2.getName());

personProxy2.setRate(2);

System.out.println(personProxy2.getRate());

}

private Person getPersonBeanFromDB1(){

Person pb = new PersonImpl();

pb.setName("remy");

pb.setGender("girl");

pb.setRate(1);

return pb; }

输出结果:

Java代码

remy can not setRate remy 2



unto高性能JAVA代码之_内存管理和多方法实例教程nextJava技巧:深拷贝的两种方式

QQ截图20160923101820.jpg (8.19 KB, 下载次数: 152750)

QQ截图20160923101820.jpg
回复

使用道具 举报

65

主题

176

帖子

1557

积分

积分
1557
信息发布软件沙发
 楼主| 发表于 2016-9-26 13:46:08 | 只看该作者
本帖最后由 宣传工具 于 2016-9-26 13:47 编辑

多实例教程2


不定期整理硬盘内源代码、笔记、总结等,同时发上来分享一下。今天再发一篇关于Java动态代理的总结(貌似ItEye一天最多发5篇Blog,再多只能放草稿箱了?)
-----------------------------------------------------------
Java动态代理详解
说到动态代理,顾名思义就是动态的代理(真是废话)。
关于代理:想必大家都并不陌生,GOF的23种设计模式之一(结构型模式)。这里暂不多做介绍,有兴趣的可以关注我关于设计模式的文章。
什么是动态代理:
说起动态,其实不如先说什么是静态。所谓静态代理,个人理解为自己手写的代理类,或者用工具生成的代理类,或者别人帮你写的代理类(没说一样...)。总之,就是程序运行前就已经存在的编译好的代理类。
相反,如果代理类程序运行前并不存在,需要在程序运行时动态生成(无需手工编写代理类源码),那就是今天要说的动态代理了。
如何生成的:根据Java的反射机制动态生成。
不多说了,上程序。
目标接口TargetInterface:
Java代码  [url=][/url]

  • public interface TargetInterface {  
  •     public int targetMethodA(int number);  
  •     public int targetMethodB(int number);  
  • }  

很简单,一个普通的接口,里面有若干方法(此处写2个示范一下)
实现该接口的委托类ConcreteClass:
Java代码  [url=][/url]

  • public class ConcreteClass implements TargetInterface{  
  •   
  •     public int targetMethodA(int number) {  
  •         System.out.println("开始调用目标类的方法targetMethodA...");  
  •         System.out.println("操作-打印数字:"+number);  
  •         System.out.println("结束调用目标类的方法targetMethodA...");  
  •         return number;  
  •     }  
  •       
  •     public int targetMethodB(int number){  
  •         System.out.println("开始调用目标类的方法targetMethodB...");  
  •         System.out.println("操作-打印数字:"+number);  
  •         System.out.println("结束调用目标类的方法targetMethodB...");  
  •         return number;  
  •     }  
  •   
  • }  

很简单,一个普通的类,实现了目标接口。
代理处理器类ProxyHandler:
Java代码  [url=][/url]

  • public class ProxyHandler implements InvocationHandler{  
  •     private Object concreteClass;  
  •       
  •     public ProxyHandler(Object concreteClass){  
  •         this.concreteClass=concreteClass;  
  •     }  
  •   
  •     public Object invoke(Object proxy, Method method, Object[] args) throws Throwable {  
  •         System.out.println("proxy:"+proxy.getClass().getName());  
  •         System.out.println("method:"+method.getName());  
  •         System.out.println("args:"+args[0].getClass().getName());  
  •          
  •         System.out.println("Before invoke method...");  
  •         Object object=method.invoke(concreteClass, args);//普通的Java反射代码,通过反射执行某个类的某方法  
  •         //System.out.println(((ConcreteClass)concreteClass).targetMethod(10)+(Integer)args[0]);  
  •         System.out.println("After invoke method...");  
  •         return object;  
  •     }  
  •   
  • }  

该类实现了Java反射包中的InvocationHandler接口。代理实例调用方法时,将对方法调用指派到它的代理处理器程序的invoke方法中。invoke方法内部实现预处理,对委托类方法调用,事后处理等逻辑。
最后是入口程序:
Java代码  [url=][/url]

  • public class DynamicProxyExample {  
  •     public static void main(String[] args){  
  •          ConcreteClass c=new ConcreteClass();//元对象(被代理对象)  
  •          InvocationHandler ih=new ProxyHandler(c);//代理实例的调用处理程序。  
  •          //创建一个实现业务接口的代理类,用于访问业务类(见代理模式)。  
  •          //返回一个指定接口的代理类实例,该接口可以将方法调用指派到指定的调用处理程序,如ProxyHandler。  
  •          TargetInterface targetInterface=  
  •              (TargetInterface)Proxy.newProxyInstance(c.getClass().getClassLoader(),c.getClass().getInterfaces(),ih);  
  •          //调用代理类方法,Java执行InvocationHandler接口的方法.  
  •          int i=targetInterface.targetMethodA(5);  
  •          System.out.println(i);  
  •          System.out.println();  
  •          int j=targetInterface.targetMethodB(15);  
  •          System.out.println(j);  
  •     }  
  • }  

首先创建委托类对象,将其以构造函数传入代理处理器,代理处理器ProxyHandler中会以Java反射方式调用该委托类对应的方法。然后使用Java反射机制中的Proxy.newProxyInstance方式创建一个代理类实例,创建该实例需要指定该实例的类加载器,需要实现的接口(即目标接口),以及处理代理实例接口调用的处理器。
最后,调用代理类目标接口方法时,会自动将其转发到代理处理器中的invoke方法内,invoke方法内部实现预处理,对委托类方法调用,事后处理等逻辑。
使用Java动态代理机制的好处:
1、减少编程的工作量:假如需要实现多种代理处理逻辑,只要写多个代理处理器就可以了,无需每种方式都写一个代理类。
2、系统扩展性和维护性增强,程序修改起来也方便多了(一般只要改代理处理器类就行了)。
使用Java动态代理机制的限制:
目前根据GOF的代理模式,代理类和委托类需要都实现同一个接口。也就是说只有实现了某个接口的类可以使用Java动态代理机制。但是,事实上使用中并不是遇到的所有类都会给你实现一个接口。因此,对于没有实现接口的类,目前无法使用该机制。有人说这不是废话吗,本来Proxy模式定义的就是委托类要实现接口的啊!但是没有实现接口的类,该如何实现动态代理呢?
当然不是没有办法,这也是我后面抽时间要继续整理和总结原先使用过的一件神器,相关Blog会不定期发上来。那就是大名鼎鼎的CGLib...


回复 支持 反对

使用道具 举报

65

主题

176

帖子

1557

积分

积分
1557
推广工具板凳
 楼主| 发表于 2016-9-26 13:48:39 | 只看该作者
实例教程3


定义:为其他对象提供一种代理以控制对这个对象的访问。
代理模式的结构如下图所示。
动态代理使用
java动态代理机制以巧妙的方式实现了代理模式的设计理念。
代理模式示例代码
代理模式之Java动态代理和多种方法实例教程 b2b软件
public interface Subject   {     public void doSomething();   }   public class RealSubject implements Subject   {     public void doSomething()     {       System.out.println( "call doSomething()" );     }   }   public class ProxyHandler implements InvocationHandler   {     private Object proxied;          public ProxyHandler( Object proxied )     {       this.proxied = proxied;     }          public Object invoke( Object proxy, Method method, Object[] args ) throws Throwable     {       //在转调具体目标对象之前,可以执行一些功能处理    //转调具体目标对象的方法    return method.invoke( proxied, args);          //在转调具体目标对象之后,可以执行一些功能处理  }    } 代理模式之Java动态代理和多种方法实例教程 b2b软件


代理模式之Java动态代理和多种方法实例教程 b2b软件
import java.lang.reflect.InvocationHandler;   import java.lang.reflect.Method;   import java.lang.reflect.Proxy;   import sun.misc.ProxyGenerator;   import java.io.*;   public class DynamicProxy   {     public static void main( String args[] )     {       RealSubject real = new RealSubject();       Subject proxySubject = (Subject)Proxy.newProxyInstance(Subject.class.getClassLoader(),      new Class[]{Subject.class},      new ProxyHandler(real));             proxySubject.doSomething();       //write proxySubject class binary data to file       createProxyClassFile();     }          public static void createProxyClassFile()     {       String name = "ProxySubject";       byte[] data = ProxyGenerator.generateProxyClass( name, new Class[] { Subject.class } );       try      {         FileOutputStream out = new FileOutputStream( name + ".class" );         out.write( data );         out.close();       }       catch( Exception e )       {         e.printStackTrace();       }     }   }   代理模式之Java动态代理和多种方法实例教程 b2b软件


动态代理内部实现
首先来看看类Proxy的代码实现 Proxy的主要静态变量
代理模式之Java动态代理和多种方法实例教程 b2b软件
// 映射表:用于维护类装载器对象到其对应的代理类缓存private static Map loaderToCache = new WeakHashMap(); // 标记:用于标记一个动态代理类正在被创建中private static Object pendingGenerationMarker = new Object(); // 同步表:记录已经被创建的动态代理类类型,主要被方法 isProxyClass 进行相关的判断private static Map proxyClasses = Collections.synchronizedMap(new WeakHashMap()); // 关联的调用处理器引用protected InvocationHandler h; 代理模式之Java动态代理和多种方法实例教程 b2b软件


Proxy的构造方法
// 由于 Proxy 内部从不直接调用构造函数,所以 private 类型意味着禁止任何调用private Proxy() {} // 由于 Proxy 内部从不直接调用构造函数,所以 protected 意味着只有子类可以调用protected Proxy(InvocationHandler h) {this.h = h;}

Proxy静态方法newProxyInstance
代理模式之Java动态代理和多种方法实例教程 b2b软件
public static Object newProxyInstance(ClassLoader loader, Class<?>[]interfaces,InvocationHandler h) throws IllegalArgumentException {     // 检查 h 不为空,否则抛异常    if (h == null) {         throw new NullPointerException();     }     // 获得与指定类装载器和一组接口相关的代理类类型对象    Class cl = getProxyClass(loader, interfaces);     // 通过反射获取构造函数对象并生成代理类实例    try {         Constructor cons = cl.getConstructor(constructorParams);         return (Object) cons.newInstance(new Object[] { h });     } catch (NoSuchMethodException e) { throw new InternalError(e.toString());     } catch (IllegalAccessException e) { throw new InternalError(e.toString());     } catch (InstantiationException e) { throw new InternalError(e.toString());     } catch (InvocationTargetException e) { throw new InternalError(e.toString());     } } 代理模式之Java动态代理和多种方法实例教程 b2b软件


ProxygetProxyClass方法调用ProxyGeneratorgenerateProxyClass方法产生ProxySubject.class的二进制数据:
public static byte[] generateProxyClass(final String name, Class[] interfaces)

我们可以import sun.misc.ProxyGenerator,调用 generateProxyClass方法产生binary data,然后写入文件,最后通过反编译工具来查看内部实现原理。 反编译后的ProxySubject.java Proxy静态方法newProxyInstance
代理模式之Java动态代理和多种方法实例教程 b2b软件
import java.lang.reflect.*;   public final class ProxySubject extends Proxy       implements Subject   {       private static Method m1;       private static Method m0;       private static Method m3;       private static Method m2;       public ProxySubject(InvocationHandler invocationhandler)       {           super(invocationhandler);       }       public final boolean equals(Object obj)       {           try          {               return ((Boolean)super.h.invoke(this, m1, new Object[] {                   obj               })).booleanValue();           }           catch(Error _ex) { }           catch(Throwable throwable)           {               throw new UndeclaredThrowableException(throwable);           }       }       public final int hashCode()       {           try          {               return ((Integer)super.h.invoke(this, m0, null)).intValue();           }           catch(Error _ex) { }           catch(Throwable throwable)           {               throw new UndeclaredThrowableException(throwable);           }       }       public final void doSomething()       {           try          {               super.h.invoke(this, m3, null);               return;           }           catch(Error _ex) { }           catch(Throwable throwable)           {               throw new UndeclaredThrowableException(throwable);           }       }       public final String toString()       {           try          {               return (String)super.h.invoke(this, m2, null);           }           catch(Error _ex) { }           catch(Throwable throwable)           {               throw new UndeclaredThrowableException(throwable);           }       }       static        {           try          {               m1 = Class.forName("java.lang.Object").getMethod("equals", new Class[] {                   Class.forName("java.lang.Object")               });               m0 = Class.forName("java.lang.Object").getMethod("hashCode", new Class[0]);               m3 = Class.forName("Subject").getMethod("doSomething", new Class[0]);               m2 = Class.forName("java.lang.Object").getMethod("toString", new Class[0]);           }           catch(NoSuchMethodException nosuchmethodexception)           {               throw new NoSuchMethodError(nosuchmethodexception.getMessage());           }           catch(ClassNotFoundException classnotfoundexception)           {               throw new NoClassDefFoundError(classnotfoundexception.getMessage());           }       }   }   代理模式之Java动态代理和多种方法实例教程 b2b软件

ProxyGenerator内部是如何生成class二进制数据,可以参考源代码。
代理模式之Java动态代理和多种方法实例教程 b2b软件
private byte[] generateClassFile() {     /*     * Record that proxy methods are needed for the hashCode, equals,     * and toString methods of java.lang.Object.  This is done before     * the methods from the proxy interfaces so that the methods from     * java.lang.Object take precedence over duplicate methods in the     * proxy interfaces.     */    addProxyMethod(hashCodeMethod, Object.class);     addProxyMethod(equalsMethod, Object.class);     addProxyMethod(toStringMethod, Object.class);     /*     * Now record all of the methods from the proxy interfaces, giving     * earlier interfaces precedence over later ones with duplicate     * methods.     */    for (int i = 0; i < interfaces.length; i++) {         Method[] methods = interfaces.getMethods();         for (int j = 0; j < methods.length; j++) {       addProxyMethod(methods[j], interfaces);         }     }     /*     * For each set of proxy methods with the same signature,     * verify that the methods' return types are compatible.     */    for (List<ProxyMethod> sigmethods : proxyMethods.values()) {         checkReturnTypes(sigmethods);     }     /* ============================================================     * Step 2: Assemble FieldInfo and MethodInfo structs for all of     * fields and methods in the class we are generating.     */    try {         methods.add(generateConstructor());         for (List<ProxyMethod> sigmethods : proxyMethods.values()) {       for (ProxyMethod pm : sigmethods) {           // add static field for method's Method object           fields.add(new FieldInfo(pm.methodFieldName,         "Ljava/lang/reflect/Method;",          ACC_PRIVATE | ACC_STATIC));           // generate code for proxy method and add it           methods.add(pm.generateMethod());       }         }         methods.add(generateStaticInitializer());     } catch (IOException e) {         throw new InternalError("unexpected I/O Exception");     }     /* ============================================================     * Step 3: Write the final class file.     */    /*     * Make sure that constant pool indexes are reserved for the     * following items before starting to write the final class file.     */    cp.getClass(dotToSlash(className));     cp.getClass(superclassName);     for (int i = 0; i < interfaces.length; i++) {         cp.getClass(dotToSlash(interfaces.getName()));     }     /*     * Disallow new constant pool additions beyond this point, since     * we are about to write the final constant pool table.     */    cp.setReadOnly();     ByteArrayOutputStream bout = new ByteArrayOutputStream();     DataOutputStream dout = new DataOutputStream(bout);     try {         /*         * Write all the items of the "ClassFile" structure.         * See JVMS section 4.1.         */            // u4 magic;         dout.writeInt(0xCAFEBABE);             // u2 minor_version;         dout.writeShort(CLASSFILE_MINOR_VERSION);             // u2 major_version;         dout.writeShort(CLASSFILE_MAJOR_VERSION);         cp.write(dout);   // (write constant pool)             // u2 access_flags;         dout.writeShort(ACC_PUBLIC | ACC_FINAL | ACC_SUPER);             // u2 this_class;         dout.writeShort(cp.getClass(dotToSlash(className)));             // u2 super_class;         dout.writeShort(cp.getClass(superclassName));             // u2 interfaces_count;         dout.writeShort(interfaces.length);             // u2 interfaces[interfaces_count];         for (int i = 0; i < interfaces.length; i++) {       dout.writeShort(cp.getClass(           dotToSlash(interfaces.getName())));         }             // u2 fields_count;         dout.writeShort(fields.size());             // field_info fields[fields_count];         for (FieldInfo f : fields) {       f.write(dout);         }             // u2 methods_count;         dout.writeShort(methods.size());             // method_info methods[methods_count];         for (MethodInfo m : methods) {       m.write(dout);         }                // u2 attributes_count;         dout.writeShort(0); // (no ClassFile attributes for proxy classes)     } catch (IOException e) {         throw new InternalError("unexpected I/O Exception");     }     return bout.toByteArray(); 代理模式之Java动态代理和多种方法实例教程 b2b软件


总结
一个典型的动态代理创建对象过程可分为以下四个步骤:
1、通过实现InvocationHandler接口创建自己的调用处理器 IvocationHandler handler = new InvocationHandlerImpl(...);
2、通过为Proxy类指定ClassLoader对象和一组interface创建动态代理类
Class clazz = Proxy.getProxyClass(classLoader,new Class[]{...});
3、通过反射机制获取动态代理类的构造函数,其参数类型是调用处理器接口类型
Constructor constructor = clazz.getConstructor(new Class[]{InvocationHandler.class});
4、通过构造函数创建代理类实例,此时需将调用处理器对象作为参数被传入
Interface Proxy = (Interface)constructor.newInstance(new Object[] (handler));
为了简化对象创建过程,Proxy类中的newInstance方法封装了2~4,只需两步即可完成代理对象的创建。
生成的ProxySubject继承Proxy类实现Subject接口,实现的Subject的方法实际调用处理器的invoke方法,而invoke方法利用反射调用的是被代理对象的的方法(Object result=method.invoke(proxied,args))
美中不足
诚然,Proxy已经设计得非常优美,但是还是有一点点小小的遗憾之处,那就是它始终无法摆脱仅支持interface代理的桎梏,因为它的设计注定了这个遗憾。回想一下那些动态生成的代理类的继承关系图,它们已经注定有一个共同的父类叫Proxy。Java的继承机制注定了这些动态代理类们无法实现对class的动态代理,原因是多继承在Java中本质上就行不通。有很多条理由,人们可以否定对 class代理的必要性,但是同样有一些理由,相信支持class动态代理会更美好。接口和类的划分,本就不是很明显,只是到了Java中才变得如此的细化。如果只从方法的声明及是否被定义来考量,有一种两者的混合体,它的名字叫抽象类。实现对抽象类的动态代理,相信也有其内在的价值。此外,还有一些历史遗留的类,它们将因为没有实现任何接口而从此与动态代理永世无缘。如此种种,不得不说是一个小小的遗憾。但是,不完美并不等于不伟大,伟大是一种本质,Java动态代理就是佐例。
参考资料

回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

相关导读
群发软件键鼠.随机百分比点击方法结合屏幕百分比和随机偏移,实现精准且自然的
第一个,键鼠HID随机点击例子const 键鼠 = {}; 键鼠.点击 = function (x, y) { if (typeof x === "undefined") return false; if (typeof y === "undefined") return false; return hid.click(x, y); } 键鼠.随机点击 = function (x, y, random) { if (typeof x === "undefined") return false; if (typeof y === "undefined") return false; let random_s = random || 10; let x
群发软件应用关闭函数的设计
第一个:定义一个关闭当前窗口的函数// 定义一个关闭当前窗口的函数 function close() { // 本示例创建一个带有一个按钮的窗口,点击按钮关闭当前窗口 // 初始化一个新的活动(窗口) var ac = new activity(); // 加载布局代码,使用 LinearLayout 替换 vertical ac.loadXML(` <LinearLayout> <Button id="button1" text="第一个按钮"/> </LinearLayout>
群发软件多点屏幕颜色检测:10秒内变化监控
群发软件智能链接:在安卓上无缝切换快手与抖音
1.这是一段快手的意图跳转例子// 导入包 importClass(Packages.android.content.Intent); importClass(Packages.android.net.Uri); importClass(Packages.android.content.ActivityNotFoundException); importClass(Packages.android.widget.Toast); importClass(Packages.android.os.Handler); importClass(Packages.android.os.Looper); // 设置快手用户页面的URL var userId = "2037335125"; var url = "kwai://prof
群发软件在AIWROK软件中使用OkHttp设置HTTP请求头中的Cookie并输出
群发软件监听广播事件:onBroadcastEvent 方法详解
本帖最后由 群发软件 于 2025-1-16 09:43 编辑 event事件侦听使用 onBroadcastEvent 方法的示例:// 监听广播事件 event.onBroadcastEvent(function(msg) { // 在接收到消息时打印出来 print(msg); }); 说明:onBroadcastEvent 是一个用于监听广播事件的方法。它接收一个函数作为参数,该函数会在事件触发时执行。在这个例子中,当收到消息时,打印该消息。这个示例演示了如何实现一个简单的事件监听
群发软件自动下载与安装:多线程管理指定文件夹APK和图片文件的下载完整性检查
自动下载与安装:多线程管理指定文件夹APK和图片文件的下载完整性检查
群发软件用AiWork如何写出一个一个播放器呢?
用AiWork如何写出一个一个播放器呢? 用软件可以写出一个简易的播放器,专门听歌甚至占用内存极少,极度容易的播放器例子。 传到手机只需要播放就可以了。这个如果您希望从一个MP3列表中逐个播放文件, 您可以先创建一个包含所有MP3文件路径的数组, 然后使用循环或递归的方式来遍历并播放这些文件。这里是一个示例代码,展示了如何实现这一功能: 这段代码首先定义了一个mp3List数组, 包含了您想要播放的M
群发软件蓝奏云-文件下载(2.8.9版本)
群发软件自动留言工具下载
自动留言工具下载,这个软件可以自动评论这四个网站,也是新加新收集回来的,不过这些网站虽然可以匿名评论留言,放网址,放宣传的关键字,但却有一个验证码,这个验证码吧,你整起来是可以识别的,但没有必要,还不如自己对接火眼这些打码网站来的实在,现在人工智能也可以识别验证码了,而且准确率比普通的打码网站更高,甚至可以给出更好的图片修复技术,也算是一个人工智能的一个彻底应用层级吧,有可能 GPT5 后面连视频验证码
群发软件自动网址转换自动提交蜘蛛池软件
自动网址转换自动提交蜘蛛池软件,增加二个标题作为宣传目标的网站,它们可以自动的增加标题作为关键字和宣传联系方式,然后通过微信读书和微软的这个软件搜获功能,将网址转换成宣传链接的地方的,目前这两个网址是有效的,收录快,后面也做了一个蜘蛛池的扔投喂,也就是发着发着,他会自动的去发一个所有网址,然后清空所有网址,每次只有两个作为提交的作用,能达到发外链,投哺蜘蛛池的效果的,也就是这二个现在有效果的,提交
群发软件自动评论网站全自动发帖软件
自动评论网站全自动发帖软件,这个软件增加七个可以自动评论的网站,效果还蛮好的,他们都是相似后台的,有几个还是极高权重的留言网站,打开网址,可能不是直接的发帖顶帖的输入框,但是只要加一个点击发言就可以进去评论了,网站自由度比较高,可以发自己的标题和内容,也可以发一些外链上去,收录都极高,都不用发帖都可以有很高的权重网站,都是这些实际的网址才行,有的同一个网站,收录不一定好,但有的帖子浏览量高,发帖权
群发软件2025新版本自动评论自动提交蜘蛛池软件
自动评论自动提交蜘蛛池软件,今天因为网站过时,更新三个更加时效的网站,他们都可以自动的在收录比较好的帖子增加收录,你可以在这里刷广告,也可以在这些地方刷外链,都可能被秒收录的节奏,这些评论,往往都是他们自己刷了几千万条的外链,刷了几千万条的广告信息留下的繁殖链接区域名,网站收录好才是真的亮眼的地方,打卡一下就可以收录,不记录权重,只看最终的百度收录效果吧,这些网站是实时放一些收录的热门帖子评论效果
群发软件精英乓乒网全自动发布帖子软件下载
精英乓乒网自动发帖软件,这个网站客以久了,居然还可以发帖,吸引来了一群人盯在它的网站进行发帖子,不过现在不论是买号发还是什么号,都给安排上了二个验证码,登陆一个会动的验证,好在登陆成功一次后,后面不用,不过他的发帖一个是回答问题的验证码,一个是会动的验证码,会动的验证码识别率不是很高的,毕境他有时候会截图和会动的那一秒时候进行了切换图片,这样就可能导致截图不成功,这么久了,所有平台对这些会动的验证
群发软件百度贴吧全自动群发软件下载
百度贴吧软件,这个网站发帖是比较难的,但效率可以说全网最高的,所以总是有一种日不落的帝国感觉,三到二头,都会有人拉出来软件跑一跑,这个网站也是蛮折腾的,有时候严格,有时候松驰,导致有的人专靠这个吃饭的,总是有一种吃不到葡萄说葡萄酸的感觉,这个脚本用 POST 把图片上传上去,然后按照自己需要,弄成了图片成文字组合,很明显的软文结构,能上去一遍不被收录也无所谓,一样人气满满的在上面生根发了芽,有委大的人气
群发软件策梅特博客自动发帖工具下载
策梅特博客群发软件,这类博客网站可以用最简单的代码实现自己的博客需求,以前是先流行的,现在只能被当作新手的训练场了,这种博客需要自己购买登陆账号才可以发的,只有一个登陆,一个发帖界面,首页是实时更新的,发什么就实时更新什么,这类网站都有新手保护期,即你前期发什么都容易收录,后面就没有可以发展的条件了,网站发帖快,没有什么阻碍的地方,收录也是实时提交的,他们都开通了后台对接的,所以发帖收录不用另外提
群发软件apipost博客群发软件
apipost博客群发软件,这个网站是 POST 发博客的地方,注册账号要邮箱验证码,注册后想发博客还要手机验证码的,绑定一次后就可以发帖,发帖的时候有一个按住验证码,刚好软件也有这个功能,按住五秒就可以实现过这个验证码的样子,没有啥难度,就是账号可能比较麻烦一些了,软件可以自动登陆账号,然后打开发博文的网页,再按住验证码识别成功后,输入标题内容,群发博客的任务就这样完成了,这个软件可以自动切换账号去发帖,发
群发软件aliexpress产品网站发布宣传软件
aliexpress产品发布软件,这个是外贸产品供应信息发布网站,对于国外的 B2B 网站可能还在发展阶段的,所以网站对于这些还是比较吃香的,aliexpress.com 这个网站是一种分类比较强大的网站了,他们国外的,还是比较注重细节分类的,所以会有很多地方需要调试,不过网站也提供了一 键复制属性的功能,和以前机械网站一样,因为他们分类那种细节都到了螺丝纹度的,如果用属性复制功能,会比较简单,只要改一改标题,图片,和视频就可
群发软件51搜了网发布宣传软件全自动发布帖子软件下载
搜了网资讯产品自动发布软件下载, 这个软件可以自动发产品,产品这里是发家电维修类别的,比较复杂一些有几十个选项要填的,第一次做这个网站,你会感觉到头皮发麻,不知所措,很多下拉什么的都要逐个调试,图片这里还要上传六张图片,不然会出错,发不出去的,第二个选择发帖项是资讯的,以前有验证码,现在全部可以不用验证码自动发帖子,轻轻松松就可以发完导入的所有内容帖子,再也不用填那个计算的验证码了吧,网站收录还是
群发软件抖音图文和视频发布工具下载地址
抖音图文发布和抖音视频自动上传软件,这个软件可以自动上传抖音图片并且附上文字和获取图片的各种各样名称作为标题进行发布,有的人账号似乎拖动不了网页,只好出这个座标点击的版本,这样就不会有啥问题了,他是可以准确定位到上传按钮,并且准确的输入内容作为标签,这样就可以发上去的内容标题带上标签关键字,带上账号切换功能,妥妥的是一个宣传视器,用这个软件发布的视频和图文,基本不会被封号,只要你发的不是太快,发的
群发软件发布宣传软件自动评论留言软件
增加四个评论网站发信息,这里三个网站是一样的,另一个网站比较特别,是一个下载站的评论,还是极少有网站有这么自由的,不过正因为他们秒发秒收录的极致才会被看中选择,一个是鞋袜网站,一个叫懒人计算器网站,一个叫生活养生 70 条,还有一个叫微导航网站,这个网站没有验证码的,全部自由发挥,只要秒发秒显示的,不用审核,另外三个网站也是有三条链接收录比较好,其它自创的收录是不行的,他这些留言网站,只针对收录好的某
群发软件易次元图片发布头条软件
易次元图片发布头条软件,这个网站可以说是动漫不变的话题,他们总是会创作出各种各样的人气话题,所以这个网站收录一直是一个重点关注对象,只是这个网站也是确实管的极度严格的,不管你是在里面创建小组,还是去增加图片相册,或是直接发帖,都有可能被百度收录,这个网站一个号只能发五帖,就自动切换账号了,不过要是出验证码就没有好的法子了,他这个验证码,拖对了也会经常判断你是错的,所以滑动方法是没有问题的,只是人也
群发软件OOKT百科网站发布宣传软件
OOKT百科网站自动发布软件,这种头条新类网站就是以前的 ZBLOG 的模块,这类网站搭建容易,也比较安全,没有什么大的漏洞,主要是简单稳定,只要服务器还可以,几乎不会出什么差错,这个网站也是养熟了,然后出来放号出售的,这类网站做好了后,收录几乎都不会差到哪去,都比较好的百度收录效果,买好账号添加到软件的账号密码列表,导入标题内容自动发帖,这个网站的分类会比较麻烦一些,主要是他这个嵌套的操作代在码有一点编差
群发软件星空社区全自动B2B发帖软件
星空社区全自动B2B发帖软件,这个网站是 B2B 后台的样子,做了二套网站,一个是针对普通网页版本进行发帖的,一套是 POST 后台发帖的形式,这样就可以自动的拥有二种模式,一个是发的快,一种是收录好,有的时候你就像是在这些地方做有用功似的,你把能量传递过去就会得到两种效果,看你怎么选择,有蜘蛛池的时候,当然是用自己的 POST 版本了,要是没有就用普通的版本浪费点电能,一定要传二张以上的图片,图片不要超过 3M 比较好
群发软件鸡病专业网论坛全自动发帖软件
鸡病专业网论坛全自动发帖软件,这是一个发外链的论坛哈,你要把链接放到软件列表的内容 2 和内容 3 已经加上了白底了,正常内容可以放在内容 1 这样就可以做到悄悄进村,打枪的不要了,这个软件是先采集整个版块的网址,放到列表中去,每一次都会有一个大循环,重复操作,为什么要这样弄呢,因为这个脚本只是顶帖用的,没有什么大的效果操作,顶的太快被发现了可能就是一顿乱封号处理了,论坛有点被全部扒下来顶的感觉,发链接不
群发软件gongkong网早自动论坛顶帖软件
gongkong网早自动论坛顶帖软件,现在发帖太多限制了,很多人把目光转到这些大论坛,进行了偷偷发外链,怎么个方法,其实要是你查到了这些人的外链就很明白是怎么弄的,就是把自己的网址,弄成白底颜色这样操作,这样管理员是看不到你发了网址一堆的在下面的,加上现在人都很少有查询的,只要不是很过份,基本都可以发很久,就像现在这个论坛一样,看了很多人都在偷偷的发一些蜘蛛链接在里面,这样就可以造成迷糊的操作了,这个软件
群发软件盐城商务网全自动发布帖子软件
盐城商务网全自动群发软件,这个网站是 B2B 网站来的,买号才可以每天发几百条,要是加上现在的蜘蛛池技术,收录还是很可观的,要是没有蜘蛛池就会收录的极少了,这个软件包有二个功能,一个是 POST 的后台发送,能全自动看不到过程,只有过程日志呈现,另一个是普通的版本,能看到运行过程,第一个脚本是占用资源是比较少的,另一个显示过程的肯定就加载的东西自然就多,网站有五个分类可以发,全部都导入到软件里去了,你只要操
群发软件自动网站评论软件下载地址
后台评论更新五个网站打包,这几个网站只有一个后台是不同的,其余的都是帝国的 CMS 系统,后台和验证码都一样的,网站的验证码都几乎一样,可以用图鉴这个网站打码比较便宜一些,都不需要注册账号,匿名就可以评论,他显示的是 IP 进行的,验证码也可能会打错,不管这个只好按出错率判断了,五个网站,第一个要不肜填写标题,其余几个都要填写标题,标题带联系方式就行了,后面的这四个网站可以填写内容,他们主要不是收录当页,
群发软件扬中头条自动发布软件
扬中头条自动发布软件,这个网站做提极度粗糙的,连网站原来的 LOGO 都没有换掉,可是你更气的是,他收录居然出奇的好,你这能找谁说理去,不过网站他主站是比较多有价值的东东的,可发帖自然也有一个原始的验证码了,导入账号可以换号的,软件都已经做进去了,好在激活不用这么麻烦,注册一会就可以发帖,本来做了全自动发帖的过程,但注册还是有失败率,因为这个验证码也不是百分百过,要是自己写逻辑自己用的还是可以的,不过要
群发软件阴山论坛网站群发软件
阴山论坛网站群发软件,这个网站是论坛来的,改了很多地方,基本你找不到哪里发帖,哪里回帖子,网站图片也乱七八糟的,不过也没有关系了,反正能收录很多就行了,网站注册账号是免费的,注册一个账号要二分钟后才可以发帖,只要注册的号导入进去软件的 ID 列表,就可以全自动切换账号发帖,完全不用理,导入标题内容会自动切换的,没有什么需要手工操作的,不过发帖有一个验证码,需要自己充好火眼这些接口,也是会自动打验证码的
信息发布软件自动提交宣传内容自动提交蜘池软件
自动提交宣传内容自动提交蜘池软件,这个脚本是集合了四个搜索留下关键字和联系方式的方法,然后会把搜索的链接保留下来到列表中去,所有网站跑完了后,就会自己跑去蜘蛛池里留下刚才搜索的痕迹,全部链接会丢进去让他爬行一次,输入标题和网址,再次提交完链接进行循环操作,这样的好处就是成本极低的效果了,都可以自动提交链接进行步前进,每次的链接都会自动清空,搜索那边,最好导入多点标题,标题加联系方式,就是关键字和联
信息发布软件咔嚓娱乐网全自动发布软件
咔嚓娱乐网全自动发布软件,这个网站可能是很久以前的后台了,现在具然还有人拿出来用用的,也是很这神奇的事,网站这家伙,不管什么白猫黑猫能有收录好的帖子就是好家伙,不管网站丑还是美的,一切都不重要,重要的是看他有没有货在肚子里,有时候你也不知道怎么收录就狂上去了,还好有点规律可以寻到,就是发帖多了,自然会有这样那样的超级收录在里面上去的,网站只要有号就可以发,导入标题内容,有的人还会在内容加点图片,不
信息发布软件大发游戏网自动发布帖子软件
大发游戏网自动发布帖子软件,这个网站是一种游戏 APP 下载,然后是在后台发文章投稿的方式进行发帖的,这类网站肯定要买号才可以发的,不然你连他的后台在哪里都会不知道,下载的网站都自动流量,会弄的人很容易就能把网站收录拉起来的,只是很多东不知道这些技巧罢了,网站发起帖子还是比较简单的,就是输入标题内容,再传一个缩略图片就可以发成功,简单莫过于此些操作了,网站需要自己准备好账号,导入标题内容就可以无限的发
信息发布软件扎屯网全自动发布帖子软件
扎屯网全自动发布帖子软件,这个网站是 B2B 网站,全自动发布的时候会快一些,不过号都是要和他买后才可以发帖的,做二个版本,一个是 POST 版,一个是普通网页版,名子可能会比较偏,但收录只蛤帮搜狗的样子,百度收录比较少,他们这些网站打的就是批量,有收录就留下,没有收录可能被隔一定的时间被 K 掉,会网站打不开,也可能是网站对他们不再报希望了,所以网站也不会留下的。网站没有啥可以的亮点,都是导入账号密码,导入标
信息发布软件中国路面机械网全自动发产品信息软件
中国路面机械网全自动发产品信息软件,这个网站注册一个账号,完善公司信息就可以发帖,不过网页端是登陆不上去账号的,点提交都不可以登陆上去的,在浏览器也无反应,不过好在找到了 手机端登陆网址,这样就可以登陆成功账号,然后返回到电脑的页面上去的,发产品这里还是比较麻烦的,要选择分类,要选择城市等信息,产品页面里还要填一个图片地址,算是比较麻烦的地方了,网页内容输入这里有检验的,一般内容说不给发的,标题也
信息发布软件嘉泰姆网自动评论软件
嘉泰姆网自动评论软件,这个脚本集合了五个网站,他并不是每一个网站都有效果的,而是某几篇文章,收录好的就越来越好,收录差的你评论进去也不会有收录,他们自动收录的网站看中的也这点,开出某几朵花很难,但种草却很容易,想收录好只能跟着这些收录过的帖子进行后续补上,如果你想主帖收录,那就只能等他们展开蜘蛛的爬行量了,这个网站输入账号密码就可以发帖,他也是一种自动注册的状态,评论的时候需要输入验证码,随便用打
信息发布软件中国象棋网全自动群发软件
中国象棋网全自动群发软件,现在对于这些网站评论收录极好,几乎占了现在收录的大头,他们收录是主网页帖子的某个评论窗体,收录的是当前某页面,然后定位里面的关键字,定位里面的收录内容和联系方式进行的,这些评论网站有一个共同点,就不需要账号,只要输入一个验证码,就可以拼了老命去评论网站内容的,这里第一个网站是手机网页来的,其它三个都是帝国新闻网站后台,每一次循环一圈过去,识别验证码方式,价格比较便宜的,只
信息发布软件JAYI定制版后台群发软件
JAYI定制版后台群发软件,这种网站是一种批量的网站,自动用 AI 写文章,自动群发起来的网站,他们可以让很多网站互相窜连起来的样子,而你要做的是增加网站的内容,他们通过几千个站群转发你发过的文章,相当于一站式服务了,他弄这样的一个后台给你看上去很复杂,实际只需要添加标题关键字和正文就可以了,外链什么的网站肯定会帮你转发的,没有效果别人也不会买这种站群服务的样子,做这些网站不用弄那么多的限制的,只要写入缓
信息发布软件小红书图文发布宣传软件
带标签版小红书图文群发,小红书一直有一个很严重的毛病,就是带标签极度麻烦,而抖音就对这个功能比较看重,你粘帖进去,加一个回车或是空格是可以出来标签的,这个标签看似很小的一件事,却是视频关联播放,视频相关播放量,视频搜播放量的关键字,小红书这么多年以来,终于看到了这个差距,有所改变,现在他们也弄成了这种功能,这样可以让软件也输入慢点,加一个空格去,也能实现标签呈现效果的结局点,现在软件这个版本可以对
信息发布软件51搜了网全自动产品和资讯群发工具
51搜了网资讯和产品全自动发布软件,这个网站是要钱买号发的,资讯以前他是死要弄一个验证码的,现在倒是改进了不少,主要是登陆框和产品发布和时候,不再要求什么多少星才可以发布了,也确实是如此,你不改变,这社会让你吃上几次亏让你改变的,为什么人家要花多点钱和你瞎扯呢,还不如找一个心意顺意的网站发一些帖子好,其实这些网站都是被百度控制进去的,完全不是我们想象的那么美好的事,收录都是有指标的,其它都是随机的呈
信息发布软件入库网POST版本B2B网站群发工具
入库网POST版本全自动群发软件,这个网站看上去 LOGO 啥都比较新鲜,其实只是一个 B2B 网站来的,你登陆后台就会看到他的全部效果了,现在做两个版本,一个是 POST 版一个是普通网页版,规则利好大家都懂的吧,网站也没有什么新奇的,前期收录肯定好一些,后面收录肯定也不会持续多久,网站主现在弄了几百个网站,挑一些好的放上去,不好的就会慢慢下架,或是改名,全部弄成了一些原来的样子了,导入标题和内容就可以全自动的发帖
信息发布软件评论网站自动软件下载地址
三个评论网站集合,这里两个网站都是帝国评论的系统,可能是故意为之的评论权限,像这种这么超大的评论网站后台能收录,也实属很罕见的了,他们评论可是有很大收录量的地方,你搜这些里面的手机号码或是 QQ 号,都会被单独的收录起来,看域名你就会觉得不那么奇怪了吧,这些都是暂时可以立即见效的网站,这类网站也是需要自己找到这些评论帖子可以执行的网站,网站打开是有验证码的,很简单的打码,还是对接打火眼比较好一些,毕竟
信息发布软件明珠网POST发帖工具下载
明珠网全自动发布帖子软件,这个网站做两个发帖过程,一个是 POST 的,一个是普通版本,现在 POST 版本是电脑差的标准配置,不过效率还是非常高的,要是自己能弄几个这样的网站,加上收录好的,是一笔不错的收录量,只可惜很多笨人根本看不透这些事,还拼了命的去找网站发,自己养几个网站效果是很多找网站的几十倍,不过很多人也不珍惜这样的机遇,因为网站前期都有很高的收录量保护期的,一旦不把握好这样的新手村效果,就变的无
信息发布软件天龙新闻网全自动发帖软件
天龙新闻网全自动发帖软件,这个是 B2B 网站,有的人找不到网站的自然能看上这类网站自动发帖的,因为都简单,导入标题内容,充好账号的积分,就可以全自自动的发帖,不用太多的干扰就行了,网站只有资讯和文章二个分类可以发,账号充的会员过期会发帖不了,虽然只能发两个分类,不过都已经把分类给做到脚本里的,他们对应分类会进去选择分类,或是上传图片了,输入标题内容都是通用的,添加产品这些网站不让发,打开也是没有用的
信息发布软件脉脉账号挂机软件下载
脉脉自动挂机注册账号软件下载,这个脚本是注册脉脉账号的,用了豪猪的接口打码,还有椰子接口打码,二个差不多,哪一个有账号就拿哪一个用,要注意的是猪这个接口账号一另一个网站不一样,他是加密后的账号密码,一般人记不住,只能用普通账号进去网站后,点 API 账号进行获取,得到手机号码后,才可以进行注册用,注册账号后,会采集账号的缓存,这样就可以后面发帖使用啥的,比较简单,也是相当麻烦的脚本,看上去是普通的与注
信息发布软件乐搜网全自动发帖工具
乐搜网全自动群发软件是一款非常好用的工具,它能够帮助用户轻松实现信息的群发和帖子的发布,提高工作效率和传播效果。用户对该软件的评价也非常高,认为它是一款值得信赖和使用的工具。 乐搜网全自动发帖工具下载: 乐搜网全自动群发软件作为一款功能强大且用户友好的工具,不仅极大地简化了信息传播的过程,还通过其多样化的功能满足了不同用户的特定需求。该软件支持多种类型的信息群发,包括但不限于文本、图片以
信息发布软件揭阳优聘自动群发工具下载
揭阳优聘自动群发工具下载,这个网上右上角有联系电话号码,你要发帖就只能找他免费给你发送,发帖有验证码,会员应该都不需要会员就可以发帖,比较简单,做起来步骤是比较多的,但效果还是很好的,采集地多发送,只能发到他这个网站所在地,固定的,虽然标记是地区的,但其实全世界也可以访问进去的,百度收录的也有 N 多,全部是有效信息,网站对这些发帖删的极少的存在,网站没有什么大的限制,只是发帖容易一些收录,他网站主
信息发布软件GPT4文章生成器软件
一直有人问我用文章怎么自动生成器操作,这个软件脚本就可以自动群发文章生成器作用,他是对接 GPT4.0 生成的,而且是最新的接口,他这个网站接口还是基本稳定的,不管怎么整,他都还在,也经过历史的检验了,这个脚本已经是去年做的,拿起来直接现在还可以用,说明还算稳定了,现在增加一个接口选择,他接口是一个字母代码的,也加上了清空会话,不然网站会发现在弄了太多会话,会有可能把你的号给封了,是一个变态的操作,如果一
信息发布软件816商务网全自动发帖软件
816商务网全自动发帖软件,这个网站也做了两个版本,一个是低配版,POST 提交,可以自动传图,自动切换标题和内容,导入账号就可以用,另一个是能看到界面的,也是导入多标题多内容组合发出去,一个是占用资源只有几 M,一个要渲染网页 CSS 和 JS 自然要用的资源多一些,现在也是很大的证明,如果网站没有对接百度蜘蛛池的,可能收录不如普通的版本,因为他不会执行百度的那几个 JS 文件,普通版当然就是模拟发帖的,自然会执行所
信息发布软件第一枪网站发布帖子B2B网站群发工具
第一枪网站发布帖子B2B网站群发工具,这个网站和普通的 B2B 网站没有什么大的区别,注册需要上传营业执照和手机短信验证码的,比较正规的那种,这个脚本可以发展会管理,可以发资讯管理,还可以布产品信息,软件登陆有一个拖动的验证码,会比较麻烦,所以这个软件是采用了缓存登陆的方式进行,发布帖子前一定要先采集一次缓存,这样就省去了每天跑去手工登陆账号的麻烦事。导入标题好内容,这样就可以省去一些麻烦事,软件能自动组
信息发布软件搜巴巴全自动群发软件
搜巴巴全自动群发软件,这个是同城分类信息网站,这类网站是 N 年没有更新的了,虽然漏洞比较多,但现在随着病毒终结,杀软也没有再去折腾这些事,现在毒与杀是存在这种微妙的关系之中,这个网站发的是商务同类信息,其实和 B2B 网站也没有多大的区别,网站给钱就可以发帖,自己可以充值套餐,反正这些网站是收录好,就发出去让别人充值一把作为建网站的收获期吧,这类网站有的收录好,有的是收录差的,不过新网站短期爆发收录好,
信息发布软件本地生活网全自动群发软件
本地生活网全自动群发软件,这个网站是本地生活的网站,他主要是发家电维修类的内容比较多一些,还有一些是商务服务类的信息,这类网站现在收录好的,也就那么几个,后来者往往很难居上了,他们都大多数是收费模式,给多少钱发多少帖一天。网站登陆是普通汉字验证码,发帖有分类,电话号码和发帖标题已经调用在标题上面了,发多少帖子这个按钮调用也是有用的,简介和地址分别有列表调用,你只需要导入进去就可以了,这个上传图片也
群发软件首码项目网发布宣传软件
首码项目网全自动发帖软件,这个网站是一种后台头条模式的,他有点像 ZBLOG 形式,很多人是没有啥动力放弃一些收录不好的网站,而总是舍又不舍得,放弃又还是在发帖,变成了一个一个背包,越积越多,效果越差,这里建议的是,三个月收录不好的网站就扔了,你可以很多模板,有时候你做对了很多事情,但因为百度蜘蛛就是和你斗气,看不上你的域名,看不上你的服务器,就会不收录,是完全不收录的那种状态。那就果断换域名,换服务器
群发软件天龙新闻网站B2B网站群发工具
天龙新闻网全自动群发工具,这个网站 POST 版本会比较容易提交,他有二个分类,一个是资讯管理,一个是文章管理,现在这些网站基本是发几百条后,有几条是收录好的,原因不言自明,发的多了自然就有可能被收录,没有什么大的技巧,对于百度来说,这类广告信息太多了,他肯定要随机选几个收录到自己数据库中的,几乎没有什么悬念的事,而对于发的人来说,只能发大点量,提高自己被成为天选之子的好处吧,如果选不中,那就继续发,或
群发软件一路供应网站发布宣传软件
一路供应网站全自动发帖软件,这个网站是发布供应信息软件来的,网站只有两个版块可以发,一个是文章,一个是资讯信息,其它发了也不收录,网站已经下架过去了。像这类网站信息,最好当然是用一些 GPT 写文章,生成一些原创文章收录会好一些的,可是很多人总是拿着老一套,内容就改前面一段就行,这样效果当然很差劲了,形成了一些恶性的循环环不收录的机制,除非网站有很大机率被收录,不然就很难有好运气砸中自己的,网站这里只
群发软件海威数控软件群发脚本下载地址
海威数控软件群发脚本下载地址,这个海威是一个 B2B 网站,他发帖的时候是比较慢的,所以软件准备了二个脚本,一个是 POST 提交,一个是普通网页版本,后台提交当然会快一些,而普通版收录当然好一些的,这个也是因为网站有这种梗导致需要准备两个版本,上传文件和其它网站不同,他这个记录的刻印号和别 B2B 网站不同,只是少了几个提交的字母,所以就需要改版,POST 提交是严谨的,而普通版本就没有太多讲究,啥都可以提交,就是
群发软件多宝网POST版本和普通版本一起群发软件
多宝网POST版本和普通版本一起群发软件,这个软件版本分了两个版本,一个版本是底层提交的,这样就不会占用电脑网络和电源 CPU 的资源,他用的量是极少的,对于差的电脑会有更兼容的运行效果,另一个是普通网页版本,这个版本对收录会有一定的优势,但会资源消耗的会比较多一些,同是一个网站整了两个版本也不过是客户要求的罢了,他有一个电脑比较差,又要挂上几十个脚本,那就只好用这种版本的提交方式了,这个版本上传图片这些
群发软件桂林生活网全自动论坛群发软件
桂林生活网全自动论坛群发软件,这个网站是发生活信息的,有点像是二手车房产之类的网站,不过他是论坛改版的,功能并不会有多少,他分类信息这些也有很多的改变,登陆是拖动验证码,发成功帖子后,就可以自动的提示审核的节奏效果,网站登陆验证码需要用录像的效果进行拖动,不然下次他有可能会拖动不成功,下拉选择这些电话号码这些可以自由更改成自己的,分类地区选择的是七星区,下拉这些是固定的,没有做自动变换, 些都没有
群发软件快手图文群发软件
快手图文群发软件,快手又有重大升级,不得不把这个脚本软件给改一下,这个是发图文的软件,用缓存登陆一下账号,姓名这里已经改版,采集缓存有所变化,所以重做了一个步骤,上传图文这里已经不可以出直接用访问网址了,只能打开网页,然后点击一下上传图片才可以传成功图片,其实上传图文这里,最大的不同就是图片上传几张,现在可以上传十多张网站会自动帮你转换成视频,然后软件就是帮你上传上去,标题也帮你输入进去,他这个加
群发软件免费蜘蛛池效果软件下载
免费蜘蛛池效果软件下载,这些蜘蛛池都是几亿收录效果的超级网站,他们也是得益于网站主是一个钱爸爸,因为他们的硬盘能装这么多的东西,也是超级无敌的冤大头罢了,随着发的人越来越多,他们发展效果自然也不在话下,能有一个超级大的留存力度,虽然看上去是没有什么人去,可是收录也会因为水涨船自然高的样子存在,网站有的有验证码,有的没有,这里收录十一个最好效果的网站放在那里,有的网站可能随后会标为不稳定,但也没有办
群发软件百家号个主页宣传软件
百家号个主页宣传软件,他这里主要是导入账号,然后修改个性签名,修改自己账号名称,生成一个主要进行操作的,这个一直都有人在弄这些数据的改变,不过他这个前详细说明,似乎要通过实名认证才可以填入,名称是随便一天可以改三次,这个操作虽然很费账号,但效果也是很显然的,毕竟是百度自己家的东西,只要你有蜘蛛池,丢进去,百分之五十的机率都会被收录,而且这种操作排名也是相当高的,只要不被提示,几乎很久都会存在于快照
群发软件咪咕创作者平台自动上传软件下载地址
咪咕创作者平台自动上传软件下载地址,这个网站是自动上传内容的网站,有点像是头条网站,有点像是发视频音乐的网站,他这个网站缓存会比较难弄,需要用 JS 的模式写入,不然就会无法写入缓存的,而且需要清空,不清空会直接给断开链接,不能直接写入缓存,上传好文件,就可以输入标题和描述内容了,看上去很容易,实也示做起来一点也不轻松,他妥妥的要点时间去写好动作才可以自动发帖的,分类这里会比较麻烦,需要用键盘按下键才
群发软件YX工具站全自动群发软件
YX工具站全自动群发软件,这个网站是一种导航网站,和一些装系统的工具盘类似的,网站用一种流量拉高自己网站排名的形式进行发展,先是打开首页,你不知道后台得和他买号会发给你,不过脚本软件都是通用的,打开登陆接口,登陆好账号,后面就可以访问发帖投稿的网址,打开输入标题和内容就可以发帖,其实是和先前的那几个什么首码网站是一样的,他网站也有做好这里的友情链接在里面进行扩展,网站开始收录好,后面就不知道了,毕竟
群发软件AR首码网全自动发帖软件
AR首码网全自动发帖软件,AR首码网全自动发帖软件是一款专为网络营销人员设计的强大工具,它不仅能够极大地提高工作效率,还能在一定程度上帮助企业或个人实现信息的快速传播。随着互联网技术的发展,特别是社交媒体平台的兴起,如何高效地管理和利用这些平台成为了众多企业和营销人士关注的重点之一。正是基于这样的背景,AR首码网全自动发帖软件应运而生,旨在通过自动化技术解决传统手动发布内容时所面临的时间成本高、效率低下
群发软件百度AI高光视频剪切群发工具
百度AI高光视频剪切自动发百家号网站软件,这个百度 AI 视频已经运作了一段时间了,虽然总是卡来卡去的,但起码人家还是能顶一点事的,不管怎么样,还是很多挂羊头卖狗肉的产品可以发布,比如这个你丢了下视频给他,他会自动把你视频段割出来,然后自动发到百家号,居然几乎不用审核就出来了,你以为他们用的是很好,其实他们是为了审核通过罢了,这样发出去省时省力,这个软件就起到这种作用,但他剪切的是很慢的,有的要三分钟之

QQ|( 京ICP备09078825号 )

本网站信息发布软件,是可以发布论坛,发送信息到各大博客,各大b2b软件自动发布,好不夸张的说:只要手工能发在电脑打开IE能发的网站,用这个宣传软件就可以仿制动作,进行推送发到您想发送的B2B网站或是信息发布平台上,不管是后台,还是前台,都可以进行最方便的广告发布,这个广告发布软件,可以按月购买,还可以试用软件,对网站的验证码也可以完全自动对信息发布,让客户自动找上门,使企业轻松实现b2b发布,这个信息发布软件,均是本站原创正版开发,拥有正版的血统,想要新功能,欢迎提意见给我,一好的分类信息群发软件在手,舍我其谁。QQ896757558

GMT+8, 2025-1-24 06:21 , Processed in 0.151839 second(s), 50 queries .

宣传软件--信息发布软件--b2b软件广告发布软件

快速回复 返回顶部 返回列表