• 开源一个社交网站模拟登录的库


    网站的登录是抓取某些网站的必须步骤,大多数情况我们都是使用一个真实的浏览器去提交我们的登录信息,但是在代码中嵌套浏览器不仅会带来性能损耗,还会带来崩溃的风险。因此就有了这个使用httpRequest来模拟登录的库 imitate-login ,目前仅有微博网页版和微博Wap版的实现,其它计划实现会根据项目关注度来决定(Star & fork)是否更新以及更新时间。

    如果这个项目侵犯了您的权益,请及时与我联系(可通过留言或邮件)!我会在收到的一周内协商处理。

    这个类库仅对外提供一个方法:

    LoginResult Login(1: string userName, 2: string password, 3: LoginSite loginSite);

    这个方法位于ImitateLogin的LoginHelper类中,使用之前需要先对其进行实例化。通过传入 用户名、密码以及登录的网站,返回一个包含登录结果状态、描述信息以及Cookies字典的类。

    这个类库并没有提供对验证码的支持,微博可以通过设置登录保护来避免验证码的出现:

    位于 设置->账号安全->登录保护

    这个项目支持使用 Apache Thrift 来实现多语言环境下的RPC调用,首先安装Thrift,然后使用以下命令创建目标语言下的接口:

    thrift --gen <language> ImitateLogin.thrift

    将上面命令中的<language>替换为你所使用的语言。然后在csharp端添加服务端得代码:

    public void Start() 
    { 
        TServerSocket serverTransport = new TServerSocket(7901, 0, false); 
        Login.Processor processor = new Login.Processor(new LoginHelper()); 
        TServer server = new TSimpleServer(processor, serverTransport); 
        Console.WriteLine("Starting server on port 7901 ..."); 
        server.Serve(); 
    }

    然后在其它语言(例如JAVA)中实现客户端的方法:

    TTransport transport = new TSocket("localhost", 7901);
    transport.open();
    TProtocol protocol = new TBinaryProtocol(transport);
    Login.Client client = new Login.Client(protocol);
    client.Login("username", "password", LoginSite.Weibo);

    将上述语句中的 username 和 password 替换为真实用于登录的微博账户。

    你可以在包含Mono或.Net Framework的环境下运行 imitate-login 类库。该类库里包含一个使用Gtk+创建的测试窗体程序,如果你希望使用它,需要额外安装 Gtk+ for Mono.

    该类库已经完成的社交网站支持:

    • Weibo
    • WeiboWap

    计划完成的支持:

    • Taobao
    • QQ
    • Facebook
    • Twitter
    • Google

    计划支持部分会根据项目关注度来决定(Star & fork)是否更新以及更新时间。

    如果这个项目侵犯了您的权益,请及时与我联系(可通过留言或邮件)!我会在收到的一周内协商处理。

  • 相关阅读:
    客户端SDK测试是什么?如何测?
    自动化才是大趋势
    2022互联网大厂薪资大比拼
    怎么测试直播类产品……
    我有7个女朋友,真是个大渣男!
    结束进程报错AttributeError: module ‘signal’ has no attribute ‘SIGKILL’
    Docker部署ELK 设置es和kibana密码
    zookeeper节点类型
    zookeeper的特点和选举机制
    集群监控部署实例
  • 原文地址:https://www.cnblogs.com/NewIdea/p/social-network-imitate-login.html
Copyright © 2020-2023  润新知