讀取https網頁的原始檔 |
答題得分者是:pcboy
|
Yu-Fan
一般會員 發表:9 回覆:18 積分:5 註冊:2007-07-17 發送簡訊給我 |
|
pcboy
版主 發表:177 回覆:1838 積分:1463 註冊:2004-01-13 發送簡訊給我 |
|
Yu-Fan
一般會員 發表:9 回覆:18 積分:5 註冊:2007-07-17 發送簡訊給我 |
void __fastcall TForm1::Button1Click(TObject *Sender)
{ IdHTTP1->Host="127.0.0.1"; IdHTTP1->Port=443; IdSSLIOHandlerSocket1->SSLOptions->Method=TIdSSLVersion(sslvSSLv23); IdSSLIOHandlerSocket1->SSLOptions->RootCertFile="test.cer"; IdHTTP1->IOHandler=IdSSLIOHandlerSocket1; //IdHTTP1->HandleRedirects=true; try { Memo1->Text=IdHTTP1->Get("https://hp.kubtelecom.ru/"); } catch(...) { ShowMessage("FAIL"); } } 我執行上面的程式後,它都會出現Could not load root certificate,是我寫的程式出問題,或是我給的檔案錯誤?? pcboy 老大,我參考你所發的問題http://delphi.ktop.com.tw/board.php?cid=30&fid=67&tid=89642 ,我從網站上將CA 驗證存成test.cer 這樣的檔案就可以使用了嗎?? |
pcboy
版主 發表:177 回覆:1838 積分:1463 註冊:2004-01-13 發送簡訊給我 |
|
Yu-Fan
一般會員 發表:9 回覆:18 積分:5 註冊:2007-07-17 發送簡訊給我 |
|
pcboy
版主 發表:177 回覆:1838 積分:1463 註冊:2004-01-13 發送簡訊給我 |
請把你寫的程式存檔, 把libeay32.dll 及ssleay32.dll放在程式相同目錄 你的電腦有安裝 Web Server ? 有啟動 HTTPS 服務嗎 ? 有安裝憑證嗎? (小弟是拿外面的 HTTPS Web Server 實驗) 小弟的範例好像是 Delphi 2007 寫的 , 使用 Indy 10, 他的 SSL 元件和之前版本不同 所以 BCB 6 未必可用 而且小弟那個程式也有問題, 沒有成功; 失敗的程式改寫成 C 也失敗, 沒甚麼好奇怪
------
能力不足,求助於人;有能力時,幫幫別人;如果您滿意答覆,請適時結案! 子曰:問有三種,不懂則問,雖懂有疑則問,雖懂而想知更多則問!
編輯記錄
pcboy 重新編輯於 2007-08-28 12:36:21, 註解 無‧
|
Yu-Fan
一般會員 發表:9 回覆:18 積分:5 註冊:2007-07-17 發送簡訊給我 |
===================引 用 pcboy 文 章===================
請把你寫的程式存檔, 把libeay32.dll 及ssleay32.dll放在程式相同目錄 你的電腦有安裝 Web Server ? 有啟動 HTTPS 服務嗎 ? 有安裝憑證嗎? (小弟是拿外面的 HTTPS Web Server 實驗) ==================================================== libeay32.dll 以及ssleay32.dll 早已經在我存檔的目錄裡 至於安裝 Web Server ,啟動 HTTPS 服務,安裝憑證這部份有點不懂 要去那下載Web Server??又該如何啟動HTTPS?? 安裝憑證是指我要造訪網頁的憑證嗎?? |
pcboy
版主 發表:177 回覆:1838 積分:1463 註冊:2004-01-13 發送簡訊給我 |
Sorry ! 看的太快, 應該不需要架設
雖然前面(這兩行好像沒用) IdHTTP1->Host="127.0.0.1"; IdHTTP1->Port=443; 但是實際上後面抓的網頁是 https://hp.kubtelecom.ru/
------
能力不足,求助於人;有能力時,幫幫別人;如果您滿意答覆,請適時結案! 子曰:問有三種,不懂則問,雖懂有疑則問,雖懂而想知更多則問! |
Yu-Fan
一般會員 發表:9 回覆:18 積分:5 註冊:2007-07-17 發送簡訊給我 |
|
Yu-Fan
一般會員 發表:9 回覆:18 積分:5 註冊:2007-07-17 發送簡訊給我 |
|
Yu-Fan
一般會員 發表:9 回覆:18 積分:5 註冊:2007-07-17 發送簡訊給我 |
剛剛重新試了一下,已經不會出現上面的錯誤了,猜測應該是之前研究時,
設定了一大堆不該設定的東西,所以我的IdHTTP與IdSSLIOHandlerSocket有點"髒" 重新拉一次元件後就OK了,不過讀到的只是link那層的body而已。 無意間看到http://delphi.ktop.com.tw/board.php?cid=168&fid=913&tid=76626的文章後 改用WebBrowser元件抓原始檔,好加在可以用,不過前提是得事先裝好CA certificate 的檔案, 不然會跳出安全性警訊出來。 雖然已經達到我要的目的了,不過還希望有先進能提供IIdHTTP與IdSSLIOHandlerSocket讀取Https的寫法。 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |