东华大学 WiFi 的认证流程

登陆

首先,我们连接上DHU的时候,http请求(甚至是https请求)都会返回302
Location:http://www3.dhu.edu.cn/wireless/dhu-login_page.htm?cmd=login& amp;mac=ec:55:f9:6c:54:15&ip=10.200.3.32&essid=DHU&url=http%3A%2F%2Fbaidu%2Ecom%2F

若是https请求,则会出错(ERROR: certificate common name `securelogin.arubanetworks.com’ doesn’t match requested host name `xxxx’.)

http请求则能正常打开页面。

现在转到http://www3.dhu.edu.cn/wireless/dhu-login_page.htm

首先,在此页面,验证码的比对是由javascript完成的,若验证码不符,则不会提交表单。

若验证码通过,则此页面向https://securelogin.arubanetworks.com/auth/index.html/u提交表单(post方式),各参数如下:
[%%MAGICID%%] => %%MAGICVAL%%
[user] => 学号
[password] => 密码
[text] => 验证码
[text2] => 验证码
[%%REDIRID%%] => %%PROTURI%%
通过我后来的实验可知,只提交user和password也可通过认证。

若之前没有登陆,且用户名密码匹配,则返回如下:
POST https://securelogin.arubanetworks.com/auth/index.html/u [HTTP/1.1 200 OK 331ms]
若用户名密码不匹配,返回如下:
POST https://securelogin.arubanetworks.com/auth/index.html/u [HTTP/1.1 302 Temporarily Moved 342ms]
Location: http://www3.dhu.edu.cn/wireless/dhu-login_page.htm?errmsg=Authentication failed
若之前登陆成功,不论你用户名密码是否匹配,都返回:
POST https://securelogin.arubanetworks.com/auth/index.html/u [HTTP/1.1 302 Temporarily Moved 101ms]
Location:?errmsg=Access denied
然后就一直:
GET https://securelogin.arubanetworks.com/auth/index.html/u?errmsg=Access%20denied [HTTP/1.1 302 Temporarily Moved 37ms]
Location:?errmsg=Access denied

退出

至于退出,则是向https://securelogin.arubanetworks.com/auth/logout.html POST 如下数据
[button] => ע�� (gb2312编码的“按钮”两字)
当然,只是 GET https://securelogin.arubanetworks.com/auth/logout.html 也可退出。

Linux下管理MP3文件(乱码,临时文件)

很多MP3文件在Linux的播放器中都显示乱码,原理在此:http://www.linuxdiyf.com/viewarticle.php?id=57099

另外,Linux下有的音乐播放器会在目录下创建隐藏文件,备份时当然要删除这些文件了。
1.删除目录下除MP3和LRC文件以外的其他文件:

find ./ -type f ! -iname \*.mp3 ! -iname  \*.lrc -exec rm -v \{\} \;

2.删除空目录:

find ./ -type d -empty -delete

注意:此处不能用 -exec rm ,因为删除目录时find命令仍然在这个目录,会报错。

3.修复MP3文件的标签:

find ./ -type f -iname \*.mp3 -exec mid3iconv -e gbk \{\} --remove-v1 \;

注:经测试 mid3iconv -e gbk X.mp3 –remove-v1 不会改变原来正常MP3文件的编码。

如何预览翻译的 Fedora 文档(使用 Publican)

首先要在 transifex.com 网站注册,并加入翻译组。(此处不赘述)

 

fedora的文档,至少本文的例子 Fedora System Administrator’s Guide → FTP 使用 Publican 写作,所以我们从翻译网站上拿到的仅仅是包括了文章“词条”的po文件。我们翻译的时候肯定要“预览”,所以必须拿到文档源码,本文中的文档源码在 git://git.fedorahosted.org/docs/system-administrators-guide.git 。

 

首先,获取文档源码:

    git clone git://git.fedorahosted.org/docs/system-administrators-guide.git

切换到目录:

    cd system-administrators-guide

测试生成文档:

    make

提示:/bin/sh: publican: command not found

那就安装此工具:

    yum install publican-doc publican-fedora

再次测试生成文档:

    make

这次没有提示错误,在 ./tmp/en-US/html-desktop/ 下生成了html版本的文档,打开 ./tmp/en-US/html-desktop/index.html ,如图:

1

当然,你也可以生成pdf格式的文档:

    make pdf

打开 ./tmp/en-US/pdf/Fedora-17-System_Administrators_Guide-en-US.pdf :

2

默认生成的文档是英文的,那如何生成其他语言的文档呢?

 

首先,生成pot文件,即翻译的模板文件:

    publican update_pot

这时可以看到当前目录下多了一个 pot 文件夹,里面全部是 pot 文件。

但我们仍需要创建中文的翻译文件:

    publican update_po --langs=zh-CN

这时,当前目录下多了一个文件夹 zh-CN ,里面全部是po文件,我们的翻译工作就是翻译这些po文件。不过不要着急,我们需要从 transifex.com 把最新的po文件拉取过来,并替换zh-CN文件夹内的相应po文件。

以章节 16.2. FTP 为例,下载下来的文件是 for_use_system-administrators-guide_FTP_zh_CN.po ,替换zh-CN文件夹内的FTP.po文件。

然后生成中文的HTML文档:

    make LANGUAGE=zh-CN

如图:

3

或者生成pdf格式的:

    make pdf LANGUAGE=zh-CN

如图:

4

 

参考资料:

https://fedoraproject.org/wiki/Publican

https://fedorahosted.org/Publican

http://jfearn.fedorapeople.org/en-US/Publican/2.7/html/Users_Guide/index.html