在Android手机上搭建一个http服务器

简介: 看到标题是不是有点懵,在Android手机上搭建一个http服务器???你TM在逗我没错,我们就是要在Android手机上搭建一个http服务器。

看到标题是不是有点懵,在Android手机上搭建一个http服务器???

img_e7501a741fe007f3f3689c63a865cd15.jpe
你TM在逗我

没错,我们就是要在Android手机上搭建一个http服务器。提到http服务器一般第一反应是Apache,nginx
Android上也能运行Apache,nginx了???
Android手机上当然不能运行这些服务器了,这次在Android上运行的是用Golang写的一个简单的http服务器。因为Golang可以跨平台编译,我尝试着把系统选择成Linux,CPU架构选择arm,然后在手机上运行,然后Android手机上真的运行起了一个http服务器
img_56ba972ed91583155ecda7ac5beb7a31.jpe
惊喜

回到正题,要想开发编写golang,首先要配置好golang的开发环境,golang的配置 传送门
我是在Ubuntu下开发的,新建service.go文件

  1 package main
  2 
  3 import (
  4         "net/http"
  5        )
  6 
  7 func main() {
  9     http.HandleFunc("/",myResponse)
 10     http.ListenAndServe("127.0.0.1:8888",nil)
 11 }
 12 
 13 func myResponse(w http.ResponseWriter,r* http.Request)  {
 14     w.Write([]byte("<html><center> <font size=\"40\">hello I am go service</font></center></html>"))
 15 }
AI 代码解读

不熟悉go的同学注意下,不要随意回车换行 不要随意回车换行 不要随意回车换行 因为go有点像Python,不是用 “;” 结束的
简单解释一下
http.HandleFunc("/",myResponse)第一个参数是注册http服务的URL,这里我们填写"/",在访问的时候直接localhost:8888 就行了,如果填"/test"访问的时候URL为localhost/test:8888"
http.ListenAndServe("127.0.0.1:8888",nil)第一个参数是要监听的ip和端口,第二个填nil就好了
然后编译运行试试,在本机上运行的程序用默认的编译参数就行go build service.go
然后运行./service
在浏览器中输入URL,成功访问到

img_75ba2fc518ba86780c17fdb2b069454b.png
chrome

下一步我们把这个程序移植到Android上,Android手机必须要有root权限,手机没有root,而又不想root的同学可以用模拟器,只要CPU的指令集参数改一下就行,先在手机上运行一下,我的手机是荣耀6,CPU是海思920,百度到海思920的指令集是arm32的,好的,编译一个
在编译之前我们先修改一下刚才编译的程序的名
执行 GOOS="linux" GOARCH="arm" go build service.go
得到一个可执行文件,用 file命令看一下 file service

service: ELF 32-bit LSB executable, ARM, EABI5 version 1 (SYSV), statically linked, not stripped
AI 代码解读

我们看到这个文件是一个32位的arm程序。ok,复制的Android手机上试试
需要用到的软件

img_3af8cdd6a62370b13e69c52159f91a41.png
Screenshot_2018-04-08-19-17-19.png

“juiceSSH”是用来模拟Linux的shell命令的, “RE文件管理器”用来修改文件的权限,在Android上chmod命令不起作用。
先复制到根目录
然后修改文件的权限
img_f9009e56285bb1e954617851c19b9b8a.png
Screenshot_2018-04-08-19-18-11.png

img_1150a0f11f6be06250d8620262609897.png
Screenshot_2018-04-08-19-18-20.png

然后在juiceSSH里运行,然后去浏览器输入URL看看,
img_71a37ba42f09242f3e6a97b721395bef.png
Screenshot_2018-04-08-19-19-43.png

没问题
接下来编译一个模拟器上的,我用的genymotion,运行的是Google nexus5手机系统,我百度了一下,nexus5用的是高通骁龙800CPU,然后坑来了,骁龙800是arm32的指令集,按理说直接把那个程序复制进去就可以运行了,但是提示 /system/bin/sh: ./service_arm32: not executable: 32-bit ELF file
后来想了想CPU用的是电脑上的,那编译成 X64的试试。还是不行,换成 X86的试试。终于成功了。原来是指令要用电脑CPU的,多少位需要模拟器的。
执行 GOOS="linux" GOARCH="386" go build service.go
复制到模拟器中,然后跟在手机一样,复制到根目录,添加权限。然后用adb shell运行,然后在模拟器的浏览器中发现可以访问
img_3d7ee586cb32ae400d9111c36003e04f.png
genymotion

好了,我们已经在Android上运行一个http服务器了,是不是比较简单

目录
打赏
0
0
0
0
16
分享
相关文章
|
20天前
|
使用Python实现multipart/form-data文件接收的http服务器
至此,使用Python实现一个可以接收 'multipart/form-data' 文件的HTTP服务器的步骤就讲解完毕了。希望通过我的讲解,你可以更好地理解其中的逻辑,另外,你也可以尝试在实际项目中运用这方面的知识。
123 69
网络通讯技术:HTTP POST协议用于发送本地压缩数据到服务器的方案。
总的来说,无论你是一名网络开发者,还是普通的IT工作人员,理解并掌握POST方法的运用是非常有价值的。它就像一艘快速,稳定,安全的大船,始终为我们在网络海洋中的冒险提供了可靠的支持。
63 22
Android平台毫秒级低延迟HTTP-FLV直播播放器技术探究与实现
本文详细探讨了在Android平台上实现HTTP-FLV播放器的过程。首先介绍了FLV格式的基础,包括文件头和标签结构。接着分析了HTTP-FLV传输原理,通过分块传输实现流畅播放。然后重点讲解了播放器的实现步骤,涵盖网络请求、数据解析、音视频解码与渲染,以及播放控制功能的设计。文章还讨论了性能优化和网络异常处理的方法,并总结了HTTP-FLV播放器的技术价值,尤其是在特定场景下的应用意义。
120 11
HTTP代理服务器对速度提升有何作用?
在信息化时代,网络成为生活不可或缺的一部分。HTTP代理服务器位于客户端与服务器之间,通过数据压缩、缓存机制和路由优化等方式,有效提高数据传输速度并保护个人信息安全。使用91HTTP等工具,用户可在业务需求中获得更快更安全的网络体验。
63 4
解析HTTP代理服务器不稳定致使掉线的关键原因
随着数字化发展,网络安全和隐私保护成为核心需求。HTTP代理服务器掉线原因主要包括:1. 网络问题,如本地网络不稳定、路由复杂;2. 服务器质量差、IP资源不稳定;3. 用户配置错误、超时或请求频率异常;4. IP失效或协议不兼容。这些问题会影响连接稳定性。
115 8
HTTP代理服务器在网络安全中的重要性
随着科技和互联网的发展,HTTP代理IP中的代理服务器在企业业务中扮演重要角色。其主要作用包括:保护用户信息、访问控制、缓存内容、负载均衡、日志记录和协议转换,从而在网络管理、性能优化和安全性方面发挥关键作用。
139 2
安卓手机远程连接登录Windows服务器教程
安卓手机远程连接登录Windows服务器教程
925 4
阿里云特惠云服务器99元与199元配置与性能和适用场景解析:高性价比之选
2025年,阿里云长效特惠活动继续推出两款极具吸引力的特惠云服务器套餐:99元1年的经济型e实例2核2G云服务器和199元1年的通用算力型u1实例2核4G云服务器。这两款云服务器不仅价格亲民,而且性能稳定可靠,为入门级用户和普通企业级用户提供了理想的选择。本文将对这两款云服务器进行深度剖析,包括配置介绍、实例规格、使用场景、性能表现以及购买策略等方面,帮助用户更好地了解这两款云服务器,以供参考和选择。
DeepSeek服务器繁忙解决方法:使用阿里云一键部署DeepSeek个人网站!
通过阿里云一键部署DeepSeek个人网站,解决服务器繁忙问题。学生用户可领取300元代金券实现0成本部署,普通用户则可用99元/年的服务器。教程涵盖从选择套餐、设置密码到获取百炼API-KEY的全流程,助您快速搭建专属大模型主页,体验DeepSeek、Qwen-max、Llama等多款模型,无需代码,最快5分钟完成部署。支持绑定个人域名,共享亲友使用,日均成本仅约1元。
145 10
阿里云实验基于ECS搭建云上博客
实验网址https://developer.aliyun.com/adc/scenario/fdecd528be6145dcbe747f0206e361f3?spm=a2c6h.13858375.devcloud-scene-list.4.d1a04090jMEG9j
61 26
下一篇
oss创建bucket
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等