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 解法
這個問題應該是網站的 SSL 太舊,所以 SSL 需要降級,解法可以有兩種:
- sudo vim /etc/ssl/openssl.cnf
- 找到 #CipherString = DEFAULT@SECLEVEL=2 # 前面加上 # 註解掉
- 新增此行:CipherString = DEFAULT@SECLEVEL=1
- 於 CLI 參數加上:
- curl -k --ciphers DEFAULT@SECLEVEL=1 'https://example.com'
- 範例:
- curl -k --ciphers DEFAULT@SECLEVEL=1 'https://example.com'
- -H 'User-Agent: Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.114 Safari/537.36'
- -H 'Content-Type: application/x-www-form-urlencoded; charset=UTF-8'--data-raw 'fromDate=2021-04-10&toDate=2021-07-31'
- --compressed
- curl -k --ciphers DEFAULT@SECLEVEL=1 'https://example.com'