𝗙𝗮𝗻𝘆𝗮 𝗠𝗮𝗮𝗺𝗯𝗶 𝘆𝗮 𝗛𝗧𝗧𝗣 𝗕𝗶𝗹𝗮 𝗖𝘂𝗿𝗹

Unaweza kufanya kazi kwenye seva isiyo na curl au wget. Unahitaji kujaribu endpoint lakini zana hizo hazipo. Unaweza kutumia Bash kutuma maombi ya HTTP moja kwa moja.

Bash ina kipengele kilichofichwa kinachoitwa /dev/tcp. Hii si faili halisi. Ni kifaa maalum ambacho Bash kinakielewa. Unapoandika kwenye /dev/tcp/hostname/port, Bash inafungua muunganisho wa TCP kwa ajili yako.

Inavyofanya kazi:

Unatumia amri ya exec kudhibiti file descriptors. Kwa mfano, unaweza kufungua file descriptor 3 kwa ajili ya kusoma na kuandika.

Sintaksia inaonekana hivi: exec 3<>/dev/tcp/example.com/80

Mara tu muunganisho huu unapofunguliwa, unatuma data kwake. Pia unasoma data kutoka kwake. Njia hii inakuonyesha jinsi itifaki ya HTTP inavyofanya kazi katika kiwango cha chini (low level).

Jinsi ya kufanya ombi la GET:

Ili kupata data, lazima utume vichwa vya habari (headers) sahihi. Unahitaji mstari mtupu mwishoni ili kuashiria mwisho wa ombi lako.

Fuata hatua hizi:

Script ya mfano:

HOST="example.com"
PORT=80
REQUEST_PATH="/"
exec 3<>/dev/tcp/${HOST}/${PORT}
printf "GET ${REQUEST_PATH} HTTP/1.0\r\nHost: ${HOST}\r\n\r\n" >&3
cat <&3
exec 3>&-

Mbinu hii inakusaidia kuelewa jinsi wateja (clients) na seva (servers) wanavyozungumza. Ni ujuzi muhimu kwa ajili ya kurekebisha makosa (debugging) kwenye mifumo rahisi (minimalist systems).

Chanzo: https://dev.to/kelvin_kariuki_20f4bec616/developer-take-on-til-you-can-make-http-requests-without-curl-using-bash-devtcp-578k