标签: http

简单的命令行 HTTP 服务器

我有一个脚本可以生成一份每日报告,我想为所谓的公众服务。问题是我不想增加我对 HTTP 服务器(例如 Apache)的所有配置和安全影响的头痛维护。

有没有一个简单的解决方案来提供一个小的 HTML 页面,而无需配置一个完整的 HTTP 服务器?

command-line webserver html http

177
推荐指数
9
解决办法
23万
查看次数

如何使用命令行获取网站标题?

我想要一个打印网站标题的命令行程序。例如:

Alan:~ titlefetcher http://www.youtube.com/watch?v=Dd7dQh8u4Hc
Run Code Online (Sandbox Code Playgroud)

应该给:

Why Are Bad Words Bad? 
Run Code Online (Sandbox Code Playgroud)

你给它网址,它会打印出标题。

command-line web http

62
推荐指数
6
解决办法
4万
查看次数

我可以创建类似于在 /etc/hosts 中写入而无需 root 访问权限的覆盖 dns

我想设置一个我的浏览器将使用的 dns 记录,但我没有 root 访问权限,所以我无法修改/etc/hosts. 我需要这样做以使用 apache 测试虚拟主机,其 dns 尚未设置。我可以访问 Firefox 和 chrome,所以如果有一个插件可以促进它;或其他选项有帮助。

更新:覆盖 dns 的替代方法可能是修改 HTTP 标头,如果将正确的标头发送到 apache,则应返回正确的内容。

dns not-root-user http

53
推荐指数
4
解决办法
3万
查看次数

更改 Apache httpd "Server:" HTTP 标头

Apachehttpd与响应数据一起发回的 HTTP 标头之一是“服务器”。例如,我的 Web 服务器机器是相对最新的 Arch Linux。它发送回与以下内容非常相似的标头:

HTTP/1.1 404 Not Found
Date: Thu, 10 Apr 2014 17:19:27 GMT
Server: Apache/2.4.9 (Unix)
Content-Length: 1149
Connection: close
Content-Type: text/html
Run Code Online (Sandbox Code Playgroud)

ServerSignature off/etc/httpd/conf/httpd.conf,但“服务器:”字段仍然出现。我已经尝试过mod_headers。我启用了它,并且尝试了一些操作:

<IfModule headers_module>
Header set ProcessingTime "%D"
Header set Server BigJohn
</IfModule>
Run Code Online (Sandbox Code Playgroud)

停止并启动httpd上述配置后,HTTP 标头包含类似 的内容ProcessingTime: 1523,但“Server:”标头行保持不变。所以我知道“mod_headers”已安装并启用,并且可以正常工作,但不是我想要的。

我看到一个叫做“mod_security”的东西声称可以做到这一点,但我不想要 mod_security 携带的所有其他包袱。

更新:

一旦你mod_security安装,你只需要几个指令:

<IfModule security2_module>
SecRuleEngine on
ServerTokens Full
SecServerSignature "Microsoft-IIS/6.0"
</IfModule>
Run Code Online (Sandbox Code Playgroud)

这是mod_security2.7.7

http apache-httpd

37
推荐指数
3
解决办法
11万
查看次数

通过不良连接下载大文件

是否有现有工具可用于通过不良连接下载大文件?

我必须定期下载一个相对较小的文件:300 MB,但慢速(80-120 KB/秒)TCP 连接在 10-120 秒后随机中断。(这是一家大公司的网络。我们多次联系他们的管理员(在印度工作),但他们不能或不想做任何事情。)问题可能出在他们的反向代理/负载平衡器上。

到目前为止,我使用了 pcurl 的修改版本:https : //github.com/brunoborges/pcurl

我改变了这一行:

curl -s --range ${START_SEG}-${END_SEG} -o ${FILENAME}.part${i} ${URL} &
Run Code Online (Sandbox Code Playgroud)

对此:

curl -s --retry 9999 --retry-delay 3 --speed-limit 2048 --speed-time 10 \
    --retry-max-time 0 -C - --range ${START_SEG}-${END_SEG} -o ${FILENAME}.part${i} ${URL} &
Run Code Online (Sandbox Code Playgroud)

我不得不补充,--speed-limit 2048 --speed-time 10因为连接失败时通常会挂起几分钟。

但是最近连这个脚本都完成不了。

一个问题是它似乎忽略了该-C -部分,因此在重试后它不会“继续”该段。它似乎截断了相关的临时文件,并在每次失败后从头开始。(我认为--range-C选项不能一起使用。)

另一个问题是该脚本同时下载所有段。它不能有 300 个分段,其中一次只能下载 10 个分段。

我正在考虑为此特定目的用 C# 编写一个下载工具,但是如果有一个现有的工具,或者 curl 命令可以使用不同的参数正常工作,那么我可以腾出一些时间。

更新 1:附加信息:不应删除并行下载功能,因为它们有每个连接的带宽限制(80-120 KB / 秒,主要是 80),因此 10 个连接可以导致 10 倍的加速。我必须在 1 …

download http curl

35
推荐指数
3
解决办法
2万
查看次数

我可以使用什么工具来嗅探 HTTP/HTTPS 流量?

我正在寻找一个命令行工具,可以拦截HTTP/HTTPS请求,提取信息如:(内容,目的地等),执行各种分析任务,最后确定是否应该丢弃请求。然后必须将法律请求转发给应用程序。

本质上类似于tcpdumpWiresharkSnort 的工具,但在 HTTP 级别运行。

参考

software-rec proxy http https

33
推荐指数
2
解决办法
4万
查看次数

仅转储 POST 请求的通用 HTTP 服务器?

我正在寻找一个命令行工具来侦听给定的部分,很高兴地排除每个 HTTP POST 请求并将其转储。

我想将它用于测试目的,即用于测试发出 HTTP POST 请求的客户端。

这意味着我正在搜索对应物curl -F(我可以使用它来将测试 HTTP POST 发送到 HTTP 服务器)。

也许类似socat TCP4-LISTEN:80,fork,bind=127.0.0.1 ...- 但 socat 是不够的,因为它不谈 HTTP。

http-logging http

32
推荐指数
4
解决办法
2万
查看次数

如何检查 curl 等命令是否正确完成?

我正在使用 curl 通过 HTTP 帖子将文件上传到服务器。

curl -X POST -d@myfile.txt server-URL
Run Code Online (Sandbox Code Playgroud)

当我在命令行上手动执行此命令时,我会收到来自服务器的响应,例如"Upload successful". 但是,如果我想通过脚本执行此 curl 命令,如何确定我的 POST 请求是否成功?

http error-handling curl

32
推荐指数
2
解决办法
14万
查看次数

如何通过 SSH 播放 HTTP 音乐流?

我知道我可以做mplayer <stream>,以打开播放本地计算机上的流。但是,我在防火墙后面。

相反,我想在远程机器打开流,但仍然在台机器上播放。远程连接是SSH的用途,但同时在远程连接上打开播放流。ssh "mplayer <stream>"

SSH 的-x标志启用 X11 显示转发。我需要那个吗?

streaming ssh mplayer music http

29
推荐指数
4
解决办法
6828
查看次数

无法通过 PPPoE 访问 Linux 上的选定 https 站点

我的互联网连接曾经是到我的提供商的直接 LAN 连接。那时,一切都会在 Windows 和 Ubuntu(双启动)上正常加载。然而,不久前他们开始需要我使用用户名和密码拨号(PPPoE)。网关、子网掩码、IP、DNS 服务器都保持不变。但是从那以后,我无法在 Ubuntu 上浏览某些网站,即使在 Windows 上没有出现此类问题。一些示例网站是 - Ovi 的登录页面(尽管 share.ovi.com 加载正常,nokia.com 加载正常)、Live Mail(适用于 Chrome(ium) 和 Opera,但不适用于 Firefox(3.6 和 4))Mozilla插件网站和其他随机网站。

一些未加载的网站会显示超时消息,而对于某些网站(如 moz 插件),浏览器将继续尝试无休止地加载(我已经这样放置了几个小时,但没有注意到任何不同之处发生)。

我尝试将 DNS 服务器更改为公共服务器。我什至尝试从 Fedora LiveCD 启动,然后将 DNS 更改为那些(甚至是 OpenDNS 的),但发生了完全相同的事情。导致此问题的 Linux 本身中的某些配置本身可能有什么问题?

有谁知道为什么会发生这种情况以及如何解决?

注意:此问题已在 SU 上交叉发布,但未得到任何回复。

更新:刚刚在这里看到其他人遇到了类似的问题,并通过将NetworkManager.conf文件放入/etc/NetworkManager. 该文件中需要包含哪些内容?

networking ip internet http

21
推荐指数
1
解决办法
1万
查看次数