線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:2323
推到 Plurk!
推到 Facebook!

如何判斷網頁是否支援如POST之類的命令?

答題得分者是:RaynorPao
ajuang
一般會員


發表:7
回覆:11
積分:3
註冊:2004-08-30

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-09-06 15:03:05 IP:61.220.xxx.xxx 未訂閱
當我嘗試使用IdHTTP1->Post送資料時,會出現"405 Method Not Allowed". 我的問題是: 所有網頁都支援POST之類的命令嗎?如果不是,我們是否有任何方式去判斷呢?
RaynorPao
版主


發表:139
回覆:3622
積分:7025
註冊:2002-08-12

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-09-06 15:20:09 IP:203.73.xxx.xxx 未訂閱
引言: 當我嘗試使用IdHTTP1->Post送資料時,會出現"405 Method Not Allowed". 我的問題是: 所有網頁都支援POST之類的命令嗎?如果不是,我們是否有任何方式去判斷呢?
ajuang 你好:
(1)不見得所有的網頁都支援 POST 的命令
(2)或許你可以直接利用 try...catch 來做判斷,例如:
    szURL="http://www.abc.com/abc.asp">HandleRedirects=true;
   TStringList *sl=new TStringList;
   try
   {
      sl->Add("ID=1");
      sl->Add("PWD=1");
      try
      {
         szRet=IdHTTP1->Post(szURL, sl);
         Memo1->Lines->Add(szRet);
         Memo1->Lines->SaveToFile("post.htm");
      }
      catch(Exception &ex)
      {
         ShowMessage(ex.Message);
         ShowMessage(IdHTTP1->ResponseCode);
         //...do something...
      }
   }
   __finally
   {
      delete sl;
   }
} 
(3)測試環境 Windows 2000 Server SP4, BCB 6.0 Update 4, Indy 9.0.14
(4)如果你想更新 BCB 中的 Indy 版本,可以參考以下這篇文章中的做法
   http://delphi.ktop.com.tw/topic.php?TOPIC_ID=25182
(5)你的程式在執行的時候,會停住的原因,是因為在 BCB 的開發環境裡面,預
   設會攔截所有的 Exception,所以,你應該在 BCB 以外的環境執行 (從檔案
   總管執行你的 *.exe),就不會有這個問題了
(6)另外,如果你不想讓自己的 BCB 預設會攔截所有的 Exception 的話,可以
   參考以下這篇文章的做法
   http://delphi.ktop.com.tw/topic.php?TOPIC_ID=55034
(7)如果你想關掉 BCB 開發環境中會攔截的特定的 Exception 的話,可以參考
   以下這篇文章的做法
   http://delphi.ktop.com.tw/topic.php?topic_id=46985 
(8)請再依照自己的需求,自行修改
    < src="http://delphi.ktop.com.tw/loadfile.php?TOPICID=10003806&CC=223734"> -- Enjoy Researching & Developing --    發表人 - RaynorPao 於 2004/09/06  17:17:29
        
------
-- 若您已經得到滿意的答覆,請適時結案!! --
-- 欲知前世因,今生受者是;欲知來世果,今生做者是 --
-- 一切有為法,如夢幻泡影,如露亦如電,應作如是觀 --
ajuang
一般會員


發表:7
回覆:11
積分:3
註冊:2004-08-30

發送簡訊給我
#3 引用回覆 回覆 發表時間:2004-09-06 16:45:07 IP:61.220.xxx.xxx 未訂閱
RaynorPao, 1. 請問你使用Indy 8 or Indy 9? 2. 我使用Indy 8. 並修改程式如下. Compile沒問題,執行後程式在 IdHTTP1->Post這一行停止.並出現系統錯誤訊息"405 Method not allowed". 是不是程式哪裡有問題?
taishyang
站務副站長


發表:377
回覆:5490
積分:4563
註冊:2002-10-08

發送簡訊給我
#4 引用回覆 回覆 發表時間:2004-09-06 17:08:19 IP:210.68.xxx.xxx 未訂閱
ajuang您好: 您一定沒有看過RaynorPao大哥的精采文章,多看看RaynorPao大哥的文章 包准功力和經驗大增 href="http://delphi.ktop.com.tw/topic.php?TOPIC_ID=44173">http://delphi.ktop.com.tw/topic.php?TOPIC_ID=44173 順心
ajuang
一般會員


發表:7
回覆:11
積分:3
註冊:2004-08-30

發送簡訊給我
#5 引用回覆 回覆 發表時間:2004-09-10 08:15:46 IP:61.220.xxx.xxx 未訂閱
請問版主RaynorPao, 當該網站不支援POST命令,是否會出現如下的訊息 "HTTP/1.1 405 Method Not Allowed" 當該網站支援POST命令,程式所post的值ID=1,PWD=1會出現在欄位上嗎?    p.s.:這一兩天出差到外地,未能及時回覆,望多包涵. 並謝謝版主RaynorPao,及taishyang熱心的回覆.
系統時間:2024-05-19 2:35:58
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!