5-25到6-2学习总结

4 篇文章 0 订阅
3 篇文章 0 订阅

摸鱼,摸鱼,摸鱼和摸鱼

方向

1.Nodejs http模块的坑在看,并且借此模块向其他模块分散(事件监听,文件处理)express的坑感觉会在以后看的差不多了再去了解,但是我觉得还是有必要去先了解一下如果使用它。
2.突发奇想,发现了一个叫做qqbot的东西,然后发现就是通过http请求实现qq登录和一些简单的qq消息收发,从fork项目到现在至少是能实现一些简单的功能,感觉是对自己http模块学习的一次测验吧,也从中学到了很多有用的东西。
3.依然是简单的js知识,这次是对于数组,字符串处理方面的一些总结,准确来说是类似于对或得到的数据请求进行处理的一些注意事项。

摸鱼

https://github.com/floatinghotpot/qqbot

这是个已经凉了大约1年的东西,而且文档和git上的nodejs–qqbot(通过qqWEB协议实现的qq机器人,大佬写的)已经很久没有更新了,而且再加上腾讯爸爸将uin2端口关闭无法获取玩家qq号,我就只好fork项目了后在上面造了个假数据(太菜了,完全看不懂,改不动),然后加上原作者的一些bug,我修了大约3天的时间(我是真的菜),然后花了大约2天的时间来理解系统的用法,然后就是编写请求服务器和不断的在服务器上测试了。。。

整个qqweb的请求原理请大家去看看scienjus大佬对qqweb协议的多个介绍,这里我就不讲了。
http://www.scienjus.com/webqq-analysis-1/

然后就是一些bug的处理,原项目这里在cookie的获取上有点问题,
将分割整合标准换为;即可。
如果不换的话,会返回{ret:10000}的错误。

  var get_cookies_string = function() {
      var cookie_map = {};
      all_cookies.forEach(function(ck){
        var v = ck.split(' ')[0];、
        //按照空格分开各个cookie变量
       //(实际上all_cookies没有全部按照空格分开)
        var kv = v.trim().split('=');
        //按照=分开变量和变量值
        if(kv[1]!=';') cookie_map[kv[0]] = kv[1];
        //去除变量值没有的项
      });
      var cks = [];
      for(var k in cookie_map) {
        cks.push(k + '=' + cookie_map[k]);
      }
      return cks.join(' ');
  };

处理结果

使用这个项目的难度很明显比理解容易,但是依然有着比较大的问题,这里我主要记录一下关于字符串数组处理以及一些布尔值判断的问题。

var str="String (String)"
var from_item =new RegExp(
/^([a-z|A-Z]*)\s*\(([a-z|A-Z|" "]+)\)$/
);
var str_match=str.match(from_item);
var str="     helloworld      ";
var str_trim=str.trim()
[]==[];
JSON.stringify([]) == '[]';

详细大家可以去浏览器控制台运行看看结果,这里我主要介绍正则regexp对象的意义和结果数据

^ $这两位是表示字符串开头和结尾的标识
( ) 这两位是表示一个寻找区域的标识
* 表示匹配0次到多次
[a-z|A-Z]匹配大小字母
\s ( 表示空格符和括号符
+表示匹配1次到多次

所以/^([a-z|A-Z])\s(([a-z|A-Z|” “]+))$/
翻译成中文就是
“匹配开头可能(没有没关系)有着字母(无论大小)和
可能(没有没有关系)有着一个空格后的又一串被括号括着的字母
(无论大小)(没有就不匹配)”
以下是不同变量输入的输出

//输入String (String)
    0: "String (String)"​
    1: "String"​
    2: "String"​
    index: 0​
    input: "String (String)"​
    length: 3

//输入(String)
    0: "(String)"​
    1: ""​
    2: "String"​
    index: 0​
    input: "(String)"​
    length: 3

摸后总结

感觉进度已经慢到了啥都没干的地步,但是还是写了些自己想写的东西,并且实现了自己想实现的功能,这算是个新坑,有兴趣可以去了解一下,主要还是学长那边的项目,感觉要抓紧了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值