问题分析
CodeToCompile
当你从网页拷贝代码到编译器中编译时,对于某些网页不是代码格式的代码,看着编译没有问题,放到编译器中一编译就开始报错了,例如图所示
往往百度搜索这种错误的解决办法是重新手撸一边代码,才能解决这个错误。确实如此,手撸完之后发现这种错误就没有了,程序也能编译了。但是有时侯,往往只想先快速的了解一些别人的代码,看看输出结果,如果再 手撸一边难免会浪费掉很多时间,能不能快速便捷的让这个网页直接拷贝的代码能直接编译呢?当然,肯定是有办法的,你需要这个:CodeToCompile
实验
网页布局很简单,只有一个代码输入框,一个提交按钮、一个回到主页超链接,。。在代码输入框中输入代码,点击提交,
就会输出 去除错误的代码,可以看到代码中多了一定长度的空格,这个代码就可以直接编译了。。。
原理
实现原理很简单,网页代码中有很多中文版的全角空格,这个空格在代码中看不出来,以为是正常的空格。这个空格是不能被编译器识别编译的,所以就会报错,只要去除了代码中的全角空格用半角空格代替就能把不能编译的代码编译了。
整个项目很简单。大概就是实现了一个简易的HTTP服务器,一个HTML网页用于提交代码,HTTP服务器接收到响应后,组建HTML包返回。就是这么简单,在编写代码时遇到了一些问题,比如网页POST提交的数据是会经过URL编码,HTTP服务器接收到了POST的数据解码后去除数据段中的全角字符返回。最后就拿到了数据构建HTTP包与HTML数据格式就可以了。
from SDU CNSATM
PS:纯HTTP协议部署在自家的网络环境下,请求不要攻击,让大家有的用,代码我会开源在GitHub,喜欢的自取