E4A如何建立http服务器?
目的只有一个,就是可以http方式打开一个安卓本地的网页,我想过用服务器组件,但是确实不知道该怎么弄。服务器收到浏览器第一波数据如下
GET / HTTP/1.1
Host: 127.0.0.1:8090
Connection: keep-alive
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Linux; Android 5.1.1; PCRT00 Build/LMY49I; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/52.0.2743.100 Mobile Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,en-US;q=0.8
X-Requested-With: com.sdplaye
服务器要给浏览器什么样的数据呢? 围观,也想用e4a写个web服务器 已解决 tiezuiwang 发表于 2021-3-5 04:59
已解决
可以发我个例程吗,我也在弄,还没成功 事件 服务器1.收到数据(数据 为 字节型(),IP地址 为 文本型,端口 为 整数型)
变量 网页内容 为 文本型
变量 目标文件 为 文本型
变量 请求文件 为 文本型
目标文件=取指定文本2(字节到文本(数据,"UTF-8"),"GET /"," ")
请求文件=读入资源文件("tou.txt","utf-8")
网页内容=读入资源文件(目标文件,"UTF-8")
如果 寻找文本(目标文件,".css",0) <>-1 则
请求文件=子文本替换(请求文件,"text/html","text/css")
否则如果 寻找文本(目标文件,".png",0) <>-1 则
请求文件=子文本替换(请求文件,"text/html","image/png")
否则如果 寻找文本(目标文件,".js",0) <>-1 则
请求文件=子文本替换(请求文件,"text/html","*/*")
结束 如果
到十六进制(取文本长度2(网页内容))
服务器1.发送数据(文本到字节(请求文件 & 到十六进制(取文本长度2(网页内容)) & "\r\n" & 网页内容 & "\r\n0\r\n\r\n","UTF-8"),IP地址,端口)
结束 事件
参考https://www.cnblogs.com/an-wen/p/11180076.html
tou.txt内容
HTTP/1.1 200 OK[回车][换行]
Cache-Control: no-cache[回车][换行]
Connection: keep-alive[回车][换行]
Content-Type: text/html;charset=utf-8[回车][换行]
Coremonitorno: 0[回车][换行]
Date: Thu, 04 Mar 2021 09:21:53 GMT[回车][换行]
Server: apache[回车][换行]
Vary: Accept-Encoding[回车][换行]
Transfer-Encoding: chunked[回车][换行]
[回车][换行]
{:4_102:}{:4_102:}{:4_102:} tiezuiwang 发表于 2021-3-5 15:25
事件 服务器1.收到数据(数据 为 字节型(),IP地址 为 文本型,端口 为 整数型)
变量 网页内容 为 文本型
变 ...
跟我想要的不一样,不过谢谢楼主了 易如意中文编程学习交流论坛有你更精彩~ 易如意中文编程学习交流论坛有你更精彩~
页:
[1]
2