问题标签 [nanohttpd]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
3943 浏览

java - 使用 Android Nanohttpd 轻量级服务器进行文件目录导航

使用下面的代码,我能够使用 Nanohttpd 轻量级服务器在 android 手机上创建移动服务器。该代码基本上循环通过主机android设备的根目录并将文件和文件夹列为链接。我要实现的是当用户单击任何链接(文件夹链接)时,浏览器应显示单击的文件夹链接中包含的文件和文件夹。我该怎么做,因为我找不到任何适合初学者的 Nanohttpd 文档。

这是我的浏览器中输出的样子

0 投票
2 回答
1256 浏览

android - 如何在 NanoHttpd Server 中设置超时

在我的应用程序中,我创建了一个本地 NanoHttpd 服务器,为其提供要服务的视频文件的路径。然后,启动另一个应用程序从流中播放。现在,因为我不希望该服务器永远运行。

  • 有什么方法可以知道其他应用程序已停止接收数据(或已关闭),或者,
  • 我可以在 NanoHttpd 中设置任何超时,以便它自行关闭。

我是 nanohttpd 的新手,http。欢迎任何获得最终结果的建议。

0 投票
0 回答
3123 浏览

javascript - Android中的NanoHTTPD服务多个文件网页

我在 Android 应用程序中使用 NanoHTTPD 来提供强制托管在服务器中的网页,因此我无法将其直接加载到 webview。

如果我加载单个 html 文件,则服务器和客户端都可以工作。

如果我随后将包含包含到 javascript 文件的 index.html 提供给每个包含的 js 文件,我会收到 Chromium (Crosswalk) 错误:

我认为在这些情况下问题不在于给出正确的 MIME 类型,但我更改了代码以做到这一点,但它仍然失败:

我的 javascript 文件直接包含函数,例如 init.js:

}

除了 NanoHTTPD 之外,我还接受在与客户端相同的 Android 应用程序中提供多文件网页的更简单方法。

我唯一的目的是跳过服务器托管网页的限制,但我想许多其他人也想知道如何将这个类用于复杂的网页。

谢谢。

编辑 1:具有许多 MIME 类型检测的新代码

它因以下错误而崩溃:

如果您在打开浏览器的调试控制台的情况下打开此示例,您将看到以下未执行的 GET。它是图像/png,但某些字段(例如状态)与其他字段不同。还有一些 .js 文件是 application/javascript 和其他 application/x-javascript

cesiumjs.org/Cesium/Build/HelloWorld.html

0 投票
2 回答
4898 浏览

java - NanoHTTPD:使用 html 表单 (POST) 上传文件

我在 Java 桌面环境中使用 NanoHTTPD 网络服务器 2.1.0。(没有安卓)

一切正常...但不是使用 POST 方法上传文件(表单不支持 PUT)

这是我的 HTML 代码:

这是我的服务器方法:

这里是问题:临时文件不存在。存在另一个带有不同“数字”的临时文件,这似乎是正确的文件,因为内容与上传文件的内容相同。那么如何获得正确的临时文件名呢?

另一个问题是:临时文件包含漏洞 POST 内容:

如果内容是图片或二进制文件,这是一个问题。

NanoHTTPD 似乎对 POST 请求没有任何特殊作用。它总是一样的......将请求保存到 tmp 文件并提供页面。所以: - 如何获得正确的临时文件?--> 我认为这是一个错误。我得到了正确的路径和名称,但“数字”已损坏。idk ...如果发生上传,我是否应该临时更改java tmp-path,然后总是删除文件。那么我只有一个独立于任何命名的 tmp 文件吗?- 如何从文件中杀死 html 请求标头

或者我做错了什么?这是将文件上传到 nanohttpd 的正确方法吗?

谢谢你的帮助!

0 投票
1 回答
305 浏览

java - 如何访问我上传到 NanoHTTPD 的文件?

我在 NanoHTTPD 服务器上放了一个文件,如下所示:

我现在如何在我的网络浏览器中访问该文件?

0 投票
2 回答
1301 浏览

inputstream - 读取 NANOHTTPD 的 InputStream 会产生 Socket TimeOut 异常

我正在尝试使用以下代码从 IHTTPSession.getInputStream() 读取 InputStream,但它每次都会给出 Socket TimeOut 异常。

我也尝试了以下方法,但出现了同样的异常

0 投票
0 回答
281 浏览

android - Nanohttpd - Chrome 的数据压缩代理导致的网关错误

我在我的 Android 应用程序中运行 Nanohttpd。一切正常。这些页面被提供给我的桌面浏览器。

但是,如果我使用 127.0.0.1.. 或 192.168.1.x.. 从同一 android 设备上的 chrome 浏览器访问 url,我会收到 bad-gateway 错误。由于 Chrome 的带宽管理中的“减少数据使用”选项,此问题正在发生。

我使用 Chrome 调试器并找到响应 -此页面无法通过 Chrome 数据压缩代理加载。尝试重新加载页面。

问题是,这是一个基于 jQuery 的请求。这个问题有解决方法吗?

0 投票
1 回答
3879 浏览

http-headers - 如何使用 NanoHttpd 响应发送文件名

我已经使用 NanoHttpd 在本地网络上成功实现了文件传输。但是,我无法在 NanoHttpd 响应中发送文件名。接收到的文件具有这样的默认名称:localhost_8080。我尝试使用在响应标头中附加文件名Content-disposition,但我的文件传输都失败了。我究竟做错了什么?这是我的实现:

谢谢你的帮助!

0 投票
0 回答
442 浏览

java - Android 4.0.4 上的 NanoHTTPD EACCES(权限被拒绝),4.4.4 ok

我在 AndroidManifest 中设置了我的权限:

这是我的java代码:

它在 KitKat 上没有任何问题。但在 ICS 4.0.4 中没有。当我尝试在 ICS 上运行它时,服务器启动时没有任何问题。但是,当我尝试访问端口 8080 上的服务器时,它在方法 Serve 中抛出异常“错误:打开失败:EACCES(权限被拒绝)”并且没有数据作为响应返回。

有什么问题?我是否缺少一些权限?但是在 KitKat 上一切正常,所以..?

0 投票
1 回答
921 浏览

java - 通过 NanoHTTPD 创建登录门户。帮助维护会话

我正在创建一个简单的 Java 网站并使用 NanoHTTPD 来轻松控制 Web 服务器和游戏服务器。

我想创建一个登录门户,以便客户能够查看他们的游戏服务器状态并进行管理。

我遇到了一堵砖墙,因为我不知道如何使用会话/访问令牌。我也不知道如何使用 PHP。

我曾考虑过使用 IP 会话,但公共 wifi 热点中的人可能会将其服务器由其他人管理。我考虑过 Cookie,但可以轻松编辑它以访问其他人的服务器。

所以我的问题是如何通过浏览器存储访问令牌的值,而不必为他们点击的所有内容输入表单,以及如何让他们保持登录状态(最好不要在 cookie 中存储密码)