抓 Guzzle Http Exception error

PHP 對 API 發 Request 常用 CURL,然後 Guzzle 是把 CURL 再包一層來做更多的進階操作。

Guzzle 底層使用 CURL,主要拿來呼叫 API、POST、GET 發送 HTTP Request。

不過 Guzzle 的版本也很多,各個版本抓取 Exception 的方式可能也不一樣,此篇使用 Guzzle 7 的版本。

閱讀全文〈抓 Guzzle Http Exception error〉

PHP CURL 遇到 tls12_check_peer_sigalg wrong signature type 解法

PHP 使用 CURL 要爬某個頁面,或者某個網站的 API,怎麼爬都是空白頁面,又沒有被擋,把 CURL 的 Error Info 印出來後,看到下述錯誤:

curl: (35) error:1414D172:SSL routines:tls12_check_peer_sigalg:wrong signature type

閱讀全文〈PHP CURL 遇到 tls12_check_peer_sigalg wrong signature type 解法〉

HTML 有內容 但網頁無法顯示 curl 看到 Failed writing body 的解法

網站出現無法顯示網頁,但是使用 CURL 卻看到回傳的 HTML 都是完整的,不過卻有下述錯誤訊息:

  • curl: (23) Failed writing body (8864 != 16366)

要怎麼解決呢?

閱讀全文〈HTML 有內容 但網頁無法顯示 curl 看到 Failed writing body 的解法〉

CURL 遇到 SSL 錯誤 tls_process_ske_dhe:dh key too small 解法

Linux CURL CLI 抓取網頁的時候,遇到下述錯誤訊息:

  • curl: (35) error:141A318A:SSL routines:tls_process_ske_dhe:dh key too small

要如何解決呢?

閱讀全文〈CURL 遇到 SSL 錯誤 tls_process_ske_dhe:dh key too small 解法〉

cheat.sh:Cheatsheet 的線上、CLI 查詢工具

程式撰寫常常需要線上查資料、查 Library 或者查詢寫法(ex: foreach 的參數) 等等,有個線上服務出現,將這些種種問題一次解決。

各種程式語言、各種寫法範例、Cheatsheet 等等,在這個網站都可以直接查到,而且還有提供 CLI (crt.sh) 直接透過 CURL 存取查詢。

使用方式

  • curl https://cheat.sh/ # 即可開始使用
  • curl https://cht.sh/ # 即可開始使用

註:此篇最下面有將 cht.sh 與 vim 快速鍵結合,方便查詢

閱讀全文〈cheat.sh:Cheatsheet 的線上、CLI 查詢工具〉

Bash shell 使用 CURL urlencode 送參數

Bash shell 想要送中文等需要被 urlencode 過的文字到網址去,要怎麼做呢?

此篇使用 curl 直接傳送,另外在紀錄 Bash 的 urlencode() / urldecode() 寫法

閱讀全文〈Bash shell 使用 CURL urlencode 送參數〉

CURL 於 CLI 顯示 TCP、SSL 的連線時間

Linux 於 CLI 使用 CURL 想要測試看看網站的詳細連線速度,要怎麼做呢?

註:此篇「httpstat 分析 從 DNS查詢 到 下載完成各個階段的處理時間」也是使用 CURL 類似做法達成的,此篇是更簡化的版本。

閱讀全文〈CURL 於 CLI 顯示 TCP、SSL 的連線時間〉