使用NanoHttpd实现简易WebServer

   0x00

    在介绍使用NanoHttpd实现简易WebServer之前,我们首先熟悉下局域网Socket通信。一个Client工程,代码地址为https://github.com/jltxgcy/AppVulnerability/tree/master/MyClient。一个Server工程,代码地址为https://github.com/jltxgcy/AppVulnerability/tree/master/MyServer

    两个工程要在要同样的Wifi环境下,MyClient工程要修改连接目标的IP地址。如下:

clientSocket = new Socket("10.10.154.74",6100);
    这个IP地址可以通过设置->关于手机->状态信息->IP地址获取。如下图:

    

    具体的代码就不介绍了,大家自己分析。


   0x01

    下面介绍使用NanoHttpd实现简易WebServer。代码地址为https://github.com/jltxgcy/AppVulnerability/tree/master/NanoHttpD

    运行NanoHttpD后,在本机的UC浏览器输入http://127.0.0.1:8088,会返回it works。在其他连接相同wifi的手机浏览器上输入http://10.10.154.12(也就是运行NanoHttpD的手机IP),也会出现it works。

    那么这个本地webServer是什么原理呢?

    我们先看主Activity,代码如下:

public class MainActivity extends Activity {

	private SimpleServer server;
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		
		server = new SimpleServer();
		try {
			
			// 因为程序模拟的是html放置在asset目录下,
			// 所以在这里存储一下AssetManager的指针。
			server.asset_mgr = this.getAssets();
			
			// 启动web服务
			server.start();
			
			Log.i("Httpd", "The server started.");
		} catch(IOException ioe) {
		    Log.w("Httpd", "The server could not start.");
		}
	}
       ......
  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值