2017-11-25 196 views
1

我正在嘗試編寫一個簡單的單行程序,它將採用.crt並將其作爲SSLShopper.com傳遞給CRT檢查程序。我可以發佈這些數據,但是我得到的所有信息都是標題和HTTP響應。他們網站上的表單看起來很簡單,只是一個返回結果的AJAX調用。這是我到目前爲止:curl POST和GET響應

curl -L -i -X POST -k "https://www.sslshopper.com/assets/snippets/sslshopper/ajax/ajax_decode.php" --data-binary @test.crt 

有沒有辦法同時POST和GET?

+0

HTTP是基於「狀態」。您發出請求或發帖並獲取回覆。一心一意。這就是它的工作原理。 – Rob

回答

0

看來你需要用下面的參數發送的數據表單URL編碼格式:

  • cert_text={CERT_CONTENT}
  • decode_type=certificate

您還需要X-Requested-With: XMLHttpRequest & Connection: keep-alive標題:

cert_content=$(cat test.crt) 
curl 'https://www.sslshopper.com/assets/snippets/sslshopper/ajax/ajax_decode.php' \ 
    -H 'X-Requested-With: XMLHttpRequest' \ 
    -H 'Connection: keep-alive' \ 
    --data-urlencode "cert_text=$cert_content" \ 
    --data-urlencode "decode_type=certificate" 

但對於這個任務,你並不需要調用一些端點檢查證書,因爲它在https://www.sslshopper.com/certificate-decoder.html自行指定,也可以直接使用​​:

openssl x509 -in test.crt -noout -subject -enddate -startdate -issuer -serial 
+0

謝謝,你的捲曲方法奏效。你說得對,我可以使用cli版本,但它比我想要的要多得多。我正在比較這兩個版本,看看哪一個更容易sed提取我需要的信息。 –

+0

@MattMorrow如果你只想要你可以使用的主題:'openssl x509 -in test.crt -noout -subject' –

+0

@MattMorrow我已經用'openssl' cmd更新了請求與http請求相同的數據,只是選擇你需要的領域 –