如何寫程式發送PCHome的一元簡訊 |
答題得分者是:allenchan
|
jieshu
版主 發表:42 回覆:894 積分:745 註冊:2002-04-15 發送簡訊給我 |
看了站上的許多文章, 排除了某些錯誤, 但一直無法成功登入PCHome的發送簡訊網頁, 可否請會的先進幫忙測試一下, 謝謝!! 測試碼如下.
procedure TForm1.BitBtn2Click(Sender: TObject); Const ls_URL = 'http://sms.pchome.com.tw/front_end/sms'; var ls_Tag : String; lt_Req : TStrings; begin lt_Req := TStringList.Create; try lt_Req.Values['fuid'] := Edit1.Text; lt_Req.Values['pwd'] := Edit2.Text; lt_Req.Values['submit'] := '登入'; IdHttp1.Request.ContentType := 'application/x-www-form-urlencoded'; IdHttp1.Host := ls_URL; IdHttp1.HandleRedirects := True; ls_Tag := IdHttp1.Post(ls_URL, lt_Req); ShowMessage(ls_Tag); finally lt_Req.Free; end; end;會出現HTTP/1.1 400 POST not supported. 但可以確定的是他的action如下, 為何會出現 POST not supported <form name="chk_usr" action="/front_end/sms" method="post">
------
人生有夢,逐夢而行 人若為善,福雖未至,禍已遠離 人若為惡,禍雖未至,福已遠離 http://www.taconet.com.tw/jieshu/ |
allenchan
資深會員 發表:10 回覆:306 積分:283 註冊:2004-01-06 發送簡訊給我 |
|
jieshu
版主 發表:42 回覆:894 積分:745 註冊:2002-04-15 發送簡訊給我 |
引言: Maybe you can try another way: IdHTTP1.HandleRedirects = True; ls_Tag = IdHTTP1->Get("http://sms.pchome.com.tw/front_end/Login?fuid=XXXX&pwd=YYYY&errPage=/front_end/sms") ); XXXX replace with your fuid YYYY replace with your pwd Allen Chan感謝Allen Chan兄, 請問您是如何知道網址要這樣填的呢? 因為從網頁原始檔裡看不出來, 而且他的method都是Post, 為何用Get也可以呢?
------
人生有夢,逐夢而行 人若為善,福雖未至,禍已遠離 人若為惡,禍雖未至,福已遠離 http://www.taconet.com.tw/jieshu/ |
allenchan
資深會員 發表:10 回覆:306 積分:283 註冊:2004-01-06 發送簡訊給我 |
引言:jieshu 大大您好,我在 OnRedirect event handler 裡面抓到的,你 post 到 http://sms.pchome.com.tw/front_end/sms 之後,它內部應該是將資料導到 http://sms.pchome.com.tw/front_end/Login 來做處理。引言: Maybe you can try another way: IdHTTP1.HandleRedirects = True; ls_Tag = IdHTTP1->Get("http://sms.pchome.com.tw/front_end/Login?fuid=XXXX&pwd=YYYY&errPage=/front_end/sms") ); XXXX replace with your fuid YYYY replace with your pwd Allen Chan感謝Allen Chan兄, 請問您是如何知道網址要這樣填的呢? 因為從網頁原始檔裡看不出來, 而且他的method都是Post, 為何用Get也可以呢? |
jieshu
版主 發表:42 回覆:894 積分:745 註冊:2002-04-15 發送簡訊給我 |
引言: 我在 OnRedirect event handler 裡面抓到的,你 post 到 http://sms.pchome.com.tw/front_end/sms 之後,它內部應該是將資料導到 http://sms.pchome.com.tw/front_end/Login 來做處理。感謝Allen Chan的說明, 又學到一招了, 不過又遇到問題了, 他好像要轉到SSL的網頁, 結果就會出現IOHandle的錯誤, 不知Allen Chan兄有何見解? 還是有哪位先進可以指點一下的, 底下列出目前的程式碼 var ls_Tag, ls_URL : String; lv_Body : Variant; lt_Tag : TStringList; begin ls_URL := 'http://sms.pchome.com.tw/front_end/Login?'; ls_Tag := 'fuid=' + Edit1.Text + '&pwd=' + Edit2.Text + '&errPage=/front_end/sms'; IdHttp1.Request.ContentType := 'application/x-www-form-urlencoded'; IdHttp1.HandleRedirects := True; IdHttp1.Host := 'http://sms.pchome.com.tw/front_end/sms'; lv_Body := VarArrayCreate([0, 0], varVariant); lv_Body[0] := IdHttp1.Get(ls_URL + ls_Tag); ls_URL := 'http://sms.pchome.com.tw/TeleCom/MsgMgr'; lt_Tag := TStringList.Create; try ls_Tag := IdHttp1.URL.PathEncode(Memo1.Lines.Text); lt_Tag.Values['firstClick'] := '0'; lt_Tag.Values['payType'] := 'PChomeAPBW'; lt_Tag.Values['mobile01'] := Edit3.Text; lt_Tag.Values['year'] := FormatDateTime('yyyy', DateTimePicker1.Date); lt_Tag.Values['month'] := FormatDateTime('mm', DateTimePicker1.Date); lt_Tag.Values['day'] := FormatDateTime('dd', DateTimePicker1.Date); lt_Tag.Values['hour'] := FormatDateTime('hh', DateTimePicker2.Time); lt_Tag.Values['minute'] := FormatDateTime('nn', DateTimePicker2.Time); lt_Tag.Values['InputMsg'] := ls_Tag; if RadioButton1.Checked then lt_Tag.Values['sendType'] := '1' else lt_Tag.Values['sendType'] := '2'; lv_Body := VarArrayCreate([0, 0], varVariant); lv_Body[0] := IdHttp1.Post(ls_URL, lt_Tag); finally lt_Tag.Free; end;ps. 他會再導到https://ezpay.pchome.com.tw/auth_form這個網頁, 且需要輸入小額付款認證碼, 再按確認才可以, 且他的action是<form name= "auth_form" method="POST" action="checkAuthForm()">這有解嗎? 發表人 - jieshu 於 2004/11/23 13:35:12
------
人生有夢,逐夢而行 人若為善,福雖未至,禍已遠離 人若為惡,禍雖未至,福已遠離 http://www.taconet.com.tw/jieshu/ |
allenchan
資深會員 發表:10 回覆:306 積分:283 註冊:2004-01-06 發送簡訊給我 |
|
jieshu
版主 發表:42 回覆:894 積分:745 註冊:2002-04-15 發送簡訊給我 |
引言: 你應該可以看得到它網頁的 checkAuthForm 這個 funciton 的 Source,看看它裡面做些啥事,或許會有解法。壞就在看不到這個Function在哪裡且是做什麼, 底下的連結就是他的原始檔. http://delphi.ktop.com.tw/loadfile.php?TOPICID=18867027&CC=421953
------
人生有夢,逐夢而行 人若為善,福雖未至,禍已遠離 人若為惡,禍雖未至,福已遠離 http://www.taconet.com.tw/jieshu/ |
allenchan
資深會員 發表:10 回覆:306 積分:283 註冊:2004-01-06 發送簡訊給我 |
|
jieshu
版主 發表:42 回覆:894 積分:745 註冊:2002-04-15 發送簡訊給我 |
引言: 我想 javascript 一定會隨著網頁一起下載到 IE 端來執行,或許您試著找找您 IE Temporary 資料夾裡有無 validate.js。 這是原始檔案內的一行碼:嗯, 真的要好好感謝您, 只怪我網頁設計懂得不多(只會ASP的入門), 沒想到多看看網頁原始檔內容, 已經找到他的action了, 裡面有底下這兩行 document.auth_form.action = "/auth_form_do"; document.auth_form.submit(); 不過要明天才能試看看行不行, 因為還有會出現錯誤訊息尚未解決, 再不行我想可改用WebBrowser, 開啟網頁自動去執行, 不過這部分還沒碰過, 還得再研究研究, 為了感謝Allen Chan兄的指導, 就把這分給您了.Allen Chan
------
人生有夢,逐夢而行 人若為善,福雖未至,禍已遠離 人若為惡,禍雖未至,福已遠離 http://www.taconet.com.tw/jieshu/ |
allenchan
資深會員 發表:10 回覆:306 積分:283 註冊:2004-01-06 發送簡訊給我 |
|
jieshu
版主 發表:42 回覆:894 積分:745 註冊:2002-04-15 發送簡訊給我 |
引言: 不過要明天才能試看看行不行, 因為還有會出現錯誤訊息尚未解決, 再不行我想可改用WebBrowser, 開啟網頁自動去執行, 不過這部分還沒碰過, 還得再研究研究, 為了感謝Allen Chan兄的指導, 就把這分給您了.果然真的不行, 已改用WebBrowser做好了, 不過仍然有些許的小問題存在, 發表位址如下: 【Delphi】【發表】用WebBrowser發送PCHome的一元簡訊 http://delphi.ktop.com.tw/topic.php?TOPIC_ID=60330
------
人生有夢,逐夢而行 人若為善,福雖未至,禍已遠離 人若為惡,禍雖未至,福已遠離 http://www.taconet.com.tw/jieshu/ |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |