【发布时间】:2020-09-07 08:09:45
【问题描述】:
我正在使用旧的 android 设备(如果您想知道,wiko 可以升级 4G Android 5.1),唯一真正有效的是 telnet(busybox 中的 wget 只有 --post-data(没有 --post -file),curl 似乎无法安装(我花了几个小时尝试安装它))
我正在尝试通过 http POST 将 screen.png 发送到 http 服务器。
我使用下面的代码在纯 telnet 中为小文本或 json 文件工作(也花了几个小时)。
但是当我处理更大的文件时,比如 png 图像或 hexdump。这不起作用。
我怀疑这是由文件中存在的特殊字符引起的。我认为这可能会迫使 telnet 退出
这个问题很棘手,我被困住了,但我希望你们中的一个人愿意接受这个挑战,http post png image over telnet
这是我用于测试的示例服务器端代码: https://gist.github.com/taterbase/2688850
FILE_TO_UPLOAD="./file.txt"
BOUNDARY=$(( RANDOM % 99999 ))
HOST="server.com"
POST_PATH="/upload.php"
FIELD_NAME="uploaded_file"
TLNET_CONTENT="-----------------------------$BOUNDARY
Content-Disposition: form-data; name=\"$FIELD_NAME\"; filename=\"$(basename $FILE_TO_UPLOAD)\"
$(cat $FILE_TO_UPLOAD)
-----------------------------$BOUNDARY--"
TLNET_HEADERS="POST $POST_PATH HTTP/1.1
Host: $HOST
Content-Type: multipart/form-data; boundary=---------------------------$BOUNDARY
Content-Length: $(($(expr length "$TLNET_CONTENT") + 100 ))
Connection: keep-alive"
TELNET_ALL="$TLNET_HEADERS
$TLNET_CONTENT
"
telnet $HOST 80 <<AREALEOF
$TELNET_ALL
AREALEOF
谢谢你,托马斯。
【问题讨论】: