2013-02-01 26 views
0

我有一個行bash命令它得到我的HTML網站通過SSL加密的HTTPS連接:靜音HTTP頭

echo "GET/HTTP/1.1\nHost: www.example.com\n\n" | openssl s_client -connect www.example.com:443 -quiet 2> /dev/null

該網站正在加載,但用的HTTP頭,如:

HTTP/1.1 200 OK
日期:星期五,2013年2月1日13點15分59秒GMT
服務器:Apache/2.2.20(Ubuntu的)

和更多類似的。與2> /dev/null我可以隱藏錯誤的SSL證書和更多的輸出。 我不想採取另一個腳本,因爲捲曲不是我想要做的。

+0

爲什麼不用'wget https:// example.com'代替? –

+0

我想創建一個腳本,要求用戶輸入一些內容,然後通過管道將腳本傳遞給openssl s_client,該腳本通過HTTPS安全地連接到Web服務器。 我相信它不適用於我的情況,因爲'openssl s_client -connect something:someport'只是從特定端口後面的服務(如443或80上的apache)提供直接輸出。 – thonixx

+0

哦,'telnet'是不可能的,因爲我不想手動加密整個流量,太複雜或幾乎不可能。 – thonixx

回答

1

由於openssl s_client的性質,這是不可能的,它可以讓您從連接端口後面運行的服務提供直接和純粹的輸出(在我的示例中,我想要使用SSL訪問Web服務器上的問題)。

telnet也會給你HTTP協議的普通輸出,curl會向我顯示沒有頭文件和HTTPS的HTML網站,但不允許自己寫入網絡服務器的命令。

0

您可以使用expect命令與openssl進行交互。我不確定它會起作用,但值得一試。