curl
curl https://google.com > google.html
:發一個 GET 的 request 到 google 的網址,並將其 response 存在 google.html。
start google.html
:開啟 google.html,回傳 statusCode 301,代表 moved permanently,按下 here 即可導到 google.com 頁面。
curl -I https://google.com > google2.html
:-I 代表只要 header,不要 body 資料。
如何使用 curl 來 post json 格式的 data?
- 對網址發 post,格式是 json。
\
是換行的意思
curl --header "Content-Type: application/json" \
--request POST \
--data '{"name":"xyz","job":"none"}' \
https://reqres.in/api/users
成功建立一個 user
#### curl 的相關應用
假設跑了一個 http server,可用 curl,網址是 localhost,即可測試能否順利運作。
p.s. 目前個人只學會在 bash 上使用 curl,還沒學會在 powershell 上的使用 curl 的方法。
nslookup
:解析 domain 的 ip 地址
得到 github.com 的 ip 地址。
ping
:測試能否送到主機,不斷送封包
telnet
:ping
一個指定的 port
可用 telnet 來查看指定的 port 是否有開。
而 windows 預設停用 telnet
功能,故得參考這篇文章:《在 windows 上開啟 telnet
功能》將其開啟。
nslookup google.com
,查到 google.com 的 ip 位址。telnet 216.58.200.238 80
位址後面接 port 編號,即可查看該 port 是否有開,不過我自己這邊不管怎麼測試都出問題。
telnet 的應用
- get /:可傳資料。
telnet ptt.cc
:開啟 ptt
ptt 是根據 telnet 的協定。
總結
curl
, ping
, nslookup
, telnet
是能夠偵測哪個部分有問題的實用指令。