ビジボックス付きの組み込みLinuxでは、起動後に自動的に日付を設定しようとします(RTCはありません)。私はntp
busyboxとカールにもコマンドがありません。私のものもwget
非常に限られていてタイトルが得られないようです。
現在の日付を取得するためにgoogle.comヘッダーを使用または解析するcurl
方法はいくつかあります。wget
しかし、私のwget
コマンドはオプションをサポートしていません--server-response
。
BusyBox v1.21.0 (2014-11-25 08:52:04 CET) multi-call binary.
Usage: wget [-c|--continue] [-s|--spider] [-q|--quiet] [-O|--output-document FILE]
[--header 'header: value'] [-Y|--proxy on/off] [-P DIR]
[-U|--user-agent AGENT] [-T SEC] URL...
Retrieve files via HTTP or FTP
-s Spider mode - only check file existence
-c Continue retrieval of aborted transfer
-q Quiet
-P DIR Save to DIR (default .)
-T SEC Network read timeout is SEC seconds
-O FILE Save to FILE ('-' for stdout)
-U STR Use STR for User-Agent header
-Y Use proxy ('on' or 'off')
このソリューションはどこかにありますが、POSIXシェルだけがあり、bashはないので動作しません(can't create /dev/tcp/www.google.com/80: nonexistent directory
)。
#!/bin/bash
exec 5<>/dev/tcp/www.google.com/80
cat mypostfile >&5
cat <&5 # reply
busyboxを使用してシステム時計を設定できるように、どこかで現在の日付を検索できるアイデアはありますか?
ありがとうございます!
答え1
ローカルホストポート8000のプロキシの場合、ビジーボックスにTelnetがある場合は試してみてください。
( echo 'HEAD http://www.google.com/ HTTP/1.0'
echo
sleep 2 ) |
busybox telnet localhost 8000 |
grep 'Date:'
sleep コマンドはおおよそのもので、Telnet が接続を早期に終了するのを防ぎます。
たとえば、サポートしていないhttpsにリダイレクトせずにこれがまだ機能していることに驚きましたbusybox wget
。ただし、まだリダイレクトされた日付を取得できます。