限られたバイナリを含むARM CPUベースのBusyBox v1.8.1(組み込みLinux)があります。カールを使わずにhttpを投稿または挿入する方法は?利用可能なwgetがあります。
# wget
BusyBox v1.8.1 (2015-04-06 16:22:12 IDT) 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] url
Retrieve files via HTTP or FTP
Options:
-s Spider mode - only check file existence
-c Continue retrieval of aborted transfer
-q Quiet
-P Set directory prefix to DIR
-O Save to filename ('-' for stdout)
-U Adjust 'User-Agent' field
-Y Use proxy ('on' or 'off')
CPU情報...
# cat /proc/cpuinfo
Processor : ARM926EJ-S rev 1 (v5l)
ベストアンサー1
多くは、busyboxや他のコマンドの内容によって異なります。私はあなたの制限がうまくwget
いかないと思います。シンプルPOSTリクエストは、cat
ソケットを開くことができる場合(例:nc
(netcat、socat)、telnet
またはフルバージョンを使用してbash
次のように接続できます)を使用してシミュレートできます。
curl
要求を実行し、記録されたすべてのデータをコピーする他のマシンから。たとえば、
curl --trace-ascii - -0 -d var=val http://localhost/~meuh/dump.cgi
これは、送信カールトレース出力に表示されます。
POST /~meuh/dump.cgi HTTP/1.0
User-Agent: curl/7.37.0
Host: localhost
Accept: */*
Content-Length: 7
Content-Type: application/x-www-form-urlencoded
var=val
たとえば、Googleにbashスクリプトを使用してファイルに入れると、POSTを再現できます。
#!/bin/bash
exec 5<>/dev/tcp/www.google.com/80
cat mypostfile >&5
cat <&5 # reply
\r\n
これは、行の終わりにあまりにも面倒でない小規模なデータとサーバーでのみ機能できますが、ユーザーのニーズには十分です。