請問如何不靠 Indy 做 HTTPS POST ? |
缺席
|
pcboy
版主 發表:177 回覆:1838 積分:1463 註冊:2004-01-13 發送簡訊給我 |
請問如何用 Delphi 7 不靠 Indy 做 HTTPS POST ? 目前從舊文章中查到一點資料, 努力中 ...
用 Google 搜尋 "delphi winsock https post begin" 中 ... HttpSendRequest http://msdn2.microsoft.com/en-us/library/aa384247.aspx Microsoft 有提供wininet 及 winhttp 皆可使用https可查詢MSDN
------
能力不足,求助於人;有能力時,幫幫別人;如果您滿意答覆,請適時結案! 子曰:問有三種,不懂則問,雖懂有疑則問,雖懂而想知更多則問! |
pcboy
版主 發表:177 回覆:1838 積分:1463 註冊:2004-01-13 發送簡訊給我 |
找到一點資訊, 不過要 Import 元件, 有些麻煩
http://community.csdn.net/Expert/topic/4853/4853087.xml?temp=.760174 在delphi中選擇功能表Project->Import Type library,然後分別把 Microsoft WinHTTP Services,version5.1(Version 5.1) 和 Microsoft Scripting Runtime (Version 1.0) 加到程式中 (點擊Create Unit) 代碼: <textarea class="delphi" rows="10" cols="60" name="code"> procedure TForm1.Button1Click(Sender: TObject); var http:WinhttpRequest; fso:FileSystemObject; fs:TextStream; fil:File_; url,user,password,path,xmlFile,statusStr:string; begin try path:='c:\test.xml'; url:='https://test/test/test'; user:='test'; password:='test'; fso:=CreateComObject(CLASS_FileSystemObject) as FileSystemObject; fil:=fso.GetFile(path); fs:=fil.OpenAsTextStream(ForReading,TristateUseDefault); xmlFile:=fs.ReadAll; fs.Close; http:=CreateComObject(CLASS_WinHttpRequest) as WinHttpRequest; http.SetTimeouts(10000,10000,10000,10000); http.Option[WinHttpRequestOption_SslErrorIgnoreFlags]:=13056; http.Open('POST',url,EmptyParam); http.SetRequestHeader('Content-Type','text/xml'); http.SetRequestHeader('Content-Length',inttostr(length(xmlFile))); http.SetCredentials(user,password,0); http.Send(xmlFile); statusStr:=http.StatusText; if statusStr='200' then begin ShowMessage('send success'); end else begin ShowMessage('send failed'); end; except on err:EOleException do begin ShowMessage(err.Message); end else begin ShowMessage('other error!'); end; end; end; </textarea>
------
能力不足,求助於人;有能力時,幫幫別人;如果您滿意答覆,請適時結案! 子曰:問有三種,不懂則問,雖懂有疑則問,雖懂而想知更多則問! |
pcboy
版主 發表:177 回覆:1838 積分:1463 註冊:2004-01-13 發送簡訊給我 |
------
能力不足,求助於人;有能力時,幫幫別人;如果您滿意答覆,請適時結案! 子曰:問有三種,不懂則問,雖懂有疑則問,雖懂而想知更多則問! |
yojin
一般會員 發表:13 回覆:18 積分:6 註冊:2005-06-04 發送簡訊給我 |
請問版主大大,下載之後怎麼用,我找了相關的文章滿久了,都沒有提到,請問能麻煩你說明一下嗎?
===================引 用 pcboy 文 章=================== SSL DLL下載地點 http://www.indyproject.org/Sockets/SSL.en.aspx ? |
pcboy
版主 發表:177 回覆:1838 積分:1463 註冊:2004-01-13 發送簡訊給我 |
|
yojin
一般會員 發表:13 回覆:18 積分:6 註冊:2005-06-04 發送簡訊給我 |
pcboy 大大你好:
我的 IDE 是 BCB 6.0,Indy 是 8.0.25 的版本,我在網路上有看到說明這兩個檔案和程式放在一起即可,但以下的程式碼和那兩個檔案有什麼關係嗎?且我在我的 Indy 版本中,好像也沒辦法編譯成功以下的程式碼,請問問題是出在哪裡呢? [code cpp] IdSSLIOHandlerSocket1->SSLOptions->Method=TIdSSLVersion(sslvSSLv23); IdSSLIOHandlerSocket1->SSLOptions->RootCertFile="test.cer"; IdHTTP1->IOHandler=IdSSLIOHandlerSocket1; [/code]
編輯記錄
yojin 重新編輯於 2009-04-02 15:32:37, 註解 無‧
|
pcboy
版主 發表:177 回覆:1838 積分:1463 註冊:2004-01-13 發送簡訊給我 |
|
yojin
一般會員 發表:13 回覆:18 積分:6 註冊:2005-06-04 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |