J'ai une boîte occupée basée sur un bras (Linux embarqué) avec des binaires limités. Comment publier ou mettre http sans utiliser curl?
busybox
a wget
mais cela est limité et ne convient pas pour la publication. Vous pouvez combiner busybox
avec netcat
(ou nc
) pour obtenir le résultat. Il vous suffit de télécharger netcat
binaires pour votre plateforme. Et c'est reparti:
POST_PATH="/login.cgi"
Host=199.188.1.99
BODY="Put here HTML body...."
BODY_LEN=$( echo -n "${BODY}" | wc -c )
echo -ne "POST ${POST_PATH} HTTP/1.0\r\nHost: ${Host}\r\nContent-Type: application/x-www-form-urlencoded\r\nContent-Length: ${BODY_LEN}\r\n\r\n${BODY}" | \
nc -i 3 ${Host} 80
Basé sur Envoi HTTP POST avec netcat post.
j'ai juste le même problème que vous, j'ai donc décidé de créer une image minimale à partir d'Alpine qui fait beaucoup plus que la boîte occupée et moins que Ubuntu https://hub.docker.com/r/prima101112/palugada
vous pouvez faire curl traceroute ou même vim pour modifier l'intérieur des pods ou du conteneur
ou si vous voulez toujours continuer avec busybox j'irai
kubectl exec -it busybox -- wget {url}
kubectl exec -it busybox -- cat index.html
cette commande affichera la réponse
j'espère que cela vous aidera