1

我正在处理一个需要向连接发送“\r”以获取下一行进行解析的遗留系统。

使用 Java 很容易:

URL url = new URL("http://some.url");
BufferedReader reader = new BufferedReader(new InputStreamReader(url.openStream()));

String line = null;
while ((line = reader.readLine()) != null) {
    System.out.println(line);
}

但是,我的 unix 技能不是很好,所以我什至不知道如何用谷歌搜索这个答案。

很明显,连接保持打开状态,并且期望发送“\r”(这是 BufferedReader.readLine() 方法的来源),但我不知道如何在 bash 中执行此操作(在脚本或提示)。此外,每次搜索都包含 99% 的基于 PHP 的结果。我没有可用的脚本语言,只有 bash。

4

1 回答 1

1

您可以在 bash 中读取和写入任意 TCP 端口:

while read line; do
    ...
done < /dev/tcp/some.url/80

echo $'\r' > /dev/tcp/some.url/80

无论如何,这给了你一些开始;我不声称以上是您问题的完整解决方案。

于 2012-08-23T16:03:45.307 回答