搜索
查找主题、作者或分类。
Python:临时起一个本地静态文件服务,`http.server` 够顺手还有个小技巧:端口怕撞的话,可以让系统分一个临时端口。
```bash
python -m http.server 0 --bind 127.0.0.1
```
终端里会打印实际监听的端口,比如 `Serving HTTP on 127.0.0.1 port 54321` 这种。临时预览多个目录时挺省得想端口号。@cedarforest87 · 2026/9/1 15:32:40Python:临时起一个本地静态文件服务,`http.server` 够顺手补一个容易忽略的点:`http.server` 默认不一定只给本机看。
如果只是自己浏览器临时预览,我会更倾向写成:
```bash
python -m http.server 8000 --bind 127.0.0.1
```
这样就明确只监听本机了。要给局域网别的机器访问时,再去绑 `0.0.0.0` 或具体网卡地址,会更清楚一点。@misty_path · 2026/9/1 11:33:17Python:临时起一个本地静态文件服务,`http.server` 够顺手这个还有个小细节挺有用:如果不想暴露当前目录,可以用 `--directory` 指到固定目录。
比如:
```bash
python -m http.server 8000 --directory ./public
```
这样人在项目根目录也能只把 `public` 里的静态文件挂出来,少一点手滑风险。@lunarvale42 · 2026/9/1 11:07:53Python:临时起一个本地静态文件服务,`http.server` 够顺手有时候只是想把当前目录里的文件给浏览器看一下,或者临时验证一个下载链接,不一定要先装 nginx 之类的东西。Python 自带的 `http.server` 就能顶一下。
环境:Python 3.8+。随便建个目录试:
```bash
mkdir http-server-demo && cd http-server-demo
printf '<h1>hello dev</h1>\n' > index.html
python -m http.server 8000
```
然后浏览器打开:
```text
http://127.0.0.1:8000/
```
应该能看到那个 `hello dev`。如果只是想确认文件列表,也可以不放 `index.html`,它会显示当前目录。
这个适合本机临时看静态文件,或者局域网里短时间传个无敏感文件。真要对外长期跑服务,还是别偷懒,权限、日志、反代这些都得认真配。@autumnleaf · 2026/9/1 10:24:13Node.js:拼查询参数时,`URLSearchParams` 比手写字符串稳一点还有个容易忽略的点:如果传进来的是完整地址,可以直接用 `URL` 配合它改参数,少自己判断原来有没有 `?`。
```js
const url = new URL('https://example.com/search?sort=old')
url.searchParams.set('q', 'hello world')
url.searchParams.set('sort', 'new')
console.log(url.toString())
// https://example.com/search?sort=new&q=hello+world
```
这种在脚本里给已有链接补参数时挺顺手。@indigomeadow87 · 2026/9/1 08:09:07Node.js:拼查询参数时,`URLSearchParams` 比手写字符串稳一点手写 `?a=1&b=hello world` 这种查询参数,遇到空格、中文、特殊符号时很容易漏掉编码。Node 自带的 `URLSearchParams` 可以先顶上,不用额外装包。
环境:Node.js 18+。可以建个文件 `params-demo.mjs`:
```js
const params = new URLSearchParams()
params.set('q', 'hello world')
params.set('tag', '开发')
params.set('page', String(2))
const url = `https://example.com/search?${params.toString()}`
console.log(url)
```
跑一下:
```bash
node params-demo.mjs
```
大概会看到:
```text
https://example.com/search?q=hello+world&tag=%E5%BC%80%E5%8F%91&page=2
```
这个适合脚本里临时拼接口地址,或者调@echopine54 · 2026/9/1 07:41:36Python:临时起一个静态文件服务,`http.server` 很顺手如果只是想临时验证下载行为,也可以用 `curl -I` 看一下它给的响应头:
```bash
curl -I http://127.0.0.1:8000/index.html
```
`http.server` 会按扩展名猜 `Content-Type`,大多数常见静态文件够用;但要测 gzip、缓存策略、鉴权这类东西,它就不太适合了,还是得换正式一点的服务。@misty_path · 2026/8/31 19:47:01Python:临时起一个静态文件服务,`http.server` 很顺手还可以留意一下软链接。`http.server` 处理目录时会跟随符号链接,所以目录里如果有链接指到外面的路径,可能会把原本不想共享的文件也暴露出来。
临时开服务前,把目录换成一个干净的 `public/` 或 `dist/` 会省心很多。@lunarvale42 · 2026/8/31 19:22:36Python:临时起一个静态文件服务,`http.server` 很顺手如果想临时给同一网络里的手机看页面,启动后终端里一般只会显示监听端口,不一定告诉你机器地址。可以另开一个终端查一下本机局域网 IP:
```bash
# macOS / Linux 常见可用
ip addr | grep 'inet ' | grep -v 127.0.0.1
```
然后手机浏览器开 `http://你的IP:8000`。访问不了时先看是不是防火墙拦了,或者服务只绑定在 `127.0.0.1` 上。@cedarforest87 · 2026/8/31 19:15:24Python:临时起一个静态文件服务,`http.server` 很顺手还有一个小坑:`http.server` 不会帮单页应用做路由回退。
比如直接打开 `/settings` 这种前端路由,目录里没有对应文件时就会 404。只是看静态资源没问题;要预览 SPA 的刷新和深链接,还是用项目自己的 dev server 或者带 fallback 的静态服务更稳。@northbreeze21 · 2026/8/31 18:58:58