全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:3986
推到 Plurk!
推到 Facebook!

使用者以edit輸入自動登入cppwebbrowser!!!!

 
wishmaster926
初階會員


發表:91
回覆:69
積分:32
註冊:2006-12-13

發送簡訊給我
#1 引用回覆 回覆 發表時間:2007-01-15 21:25:33 IP:218.166.xxx.xxx 訂閱
小弟係使用bcb 6.0撰寫一系統,程式一開始會有兩個edit要求使用者輸入id和pass登入系統,我有加一個cppwebbrowser元件,想讓之前使用者在輸入那兩個edit後,能同時以那兩個edit的值登入cppwebbrowser所開啟的某個網頁的登入內容(也就是使用者輸入'兩個edit時,也自動登入cppwebbrowser所設定之網頁),但爬了好多文章,尚無解決之道,請各位高手教教我,謝謝!!!!請盡可能'詳述,謝謝啦!!!!!
------
~~~~~~~~時時多爬文 勿使惹塵埃~~~~~~~~
~~~~~~~~時時多爬文 勿使惹塵埃~~~~~~~~
~~~~~~~~時時多爬文 勿使惹塵埃~~~~~~~~
wishmaster926
初階會員


發表:91
回覆:69
積分:32
註冊:2006-12-13

發送簡訊給我
#2 引用回覆 回覆 發表時間:2007-01-16 18:59:36 IP:218.166.xxx.xxx 訂閱
自己反向思考.如果是以cppwebbrowser登入網頁的id和pass登入我自己的系統呢???
該如何做??
------
~~~~~~~~時時多爬文 勿使惹塵埃~~~~~~~~
~~~~~~~~時時多爬文 勿使惹塵埃~~~~~~~~
~~~~~~~~時時多爬文 勿使惹塵埃~~~~~~~~
GrandRURU
站務副站長


發表:240
回覆:1680
積分:1874
註冊:2005-06-21

發送簡訊給我
#3 引用回覆 回覆 發表時間:2007-01-17 13:13:58 IP:203.75.xxx.xxx 未訂閱
對岸同胞有一篇對應的文章,提供給你參考
--CPPWebBrowser的PostData--
http://www.ccrun.com/article.asp?i=408&d=n7x1f5
wishmaster926
初階會員


發表:91
回覆:69
積分:32
註冊:2006-12-13

發送簡訊給我
#4 引用回覆 回覆 發表時間:2007-01-17 20:42:43 IP:218.166.xxx.xxx 訂閱
謝謝大大:
我趕儘去try一下!!!!!! 多謝啦!!!!!!!
------
~~~~~~~~時時多爬文 勿使惹塵埃~~~~~~~~
~~~~~~~~時時多爬文 勿使惹塵埃~~~~~~~~
~~~~~~~~時時多爬文 勿使惹塵埃~~~~~~~~
pcboy
版主


發表:177
回覆:1838
積分:1463
註冊:2004-01-13

發送簡訊給我
#5 引用回覆 回覆 發表時間:2007-01-17 23:08:07 IP:203.204.xxx.xxx 未訂閱
把變數當成網址參數即可
WebBrowser.Navigate('http://www.xxx.com.tw/index.asp?id=帳號&pass=密碼');
------
能力不足,求助於人;有能力時,幫幫別人;如果您滿意答覆,請適時結案!

子曰:問有三種,不懂則問,雖懂有疑則問,雖懂而想知更多則問!
japhen
中階會員


發表:2
回覆:57
積分:71
註冊:2006-08-16

發送簡訊給我
#6 引用回覆 回覆 發表時間:2007-01-18 14:03:14 IP:125.229.xxx.xxx 訂閱

pcboy2大大~~~~您提供的方法是GET模式,asp如果是用request.form就會收不到東西了

比較好的用法(不好意思,我BCB外行)


uses
SHDocVw, Httpapp;
procedure TForm1.Button1Click(Sender: TObject);
var
EncodedDataString: string;
PostData: OleVariant;
Headers: OleVariant;
i: integer;
begin { TForm1.Button1Click }
// 第一步,建立一個URL標準結構字串用來存放你要送出的資料
EncodedDataString := 'UserName=' HTTPEncode('MyName') '&' 'UserPass=' HTTPEncode('MyPassword');
// 要POST出去的東西必需做成OLEVARIANT的陣列中
// 陣列長度必需比上頭建立的字串大一個字元,結束字元為#0.........底下就是動態建立OLEVARIANT陣列
PostData := VarArrayCreate([0, length(EncodedDataString)-1], varByte);
// 然後把第一步做成的字串一個字一個字用FOR塞進PostData陣列中(不知前輩們有沒有更好的方法可以把字串轉陣列.....)
for i := 1 to length(EncodedDataString) do
PostData[i-1] := ord(EncodedDataString[i]);
Headers := 'Content-type: application/x-www-form-urlencoded'#10#13;
//宣告一下HTTP的頭部,不然ASP主機端會不知道你送來的東西是啥玩意兒
// Navigate的第2跟第3參數無用,直接丟EmptyParam(視為NULL)
WebBrowser1.Navigate('http://www.mydomain.com/scripts/login.asp',
EmptyParam, EmptyParam, PostData, Headers);
end;
完成!!




===================引 用 文 章===================
把變數當成網址參數即可
WebBrowser.Navigate('http://www.xxx.com.tw/index.asp?id=帳號&pass=密碼');
------
歡迎在大陸的台商加入我們的行列
台商小棧 www.twgocn.com
pcboy
版主


發表:177
回覆:1838
積分:1463
註冊:2004-01-13

發送簡訊給我
#7 引用回覆 回覆 發表時間:2007-01-18 14:49:31 IP:61.219.xxx.xxx 未訂閱
反正又沒規定需要顯示出網址, 參數也是兩個文數字罷了
畫面不顯示網址, 用 GET 模式傳給 WebBrowser 就可以了

asp 中不要特別指定接收 GET 或 POST 傳來的參數, asp 可以自己判斷
------
能力不足,求助於人;有能力時,幫幫別人;如果您滿意答覆,請適時結案!

子曰:問有三種,不懂則問,雖懂有疑則問,雖懂而想知更多則問!
japhen
中階會員


發表:2
回覆:57
積分:71
註冊:2006-08-16

發送簡訊給我
#8 引用回覆 回覆 發表時間:2007-01-18 14:58:56 IP:125.229.xxx.xxx 訂閱
問題一、用GET的方法送出登錄字串,有非常大的風險,在內網就可以被其他的電腦直接用SNIFFER嗅探到,完全不用DECODE就可以看的清清楚楚~~一點保障也沒有~~~更不用講企圖攔截封包的木馬病毒了~~~~
問題二、GET的長度有限,此法不妥
問題三、如果ASP端是別人寫的,這篇文章的作者只是想用元件自動登錄主機動態拿資料,那就難以掌控對方用什麼方法取得用戶的請求字串....
SO...................................................還是由本篇作者自己掂量掂量吧
------
歡迎在大陸的台商加入我們的行列
台商小棧 www.twgocn.com
wishmaster926
初階會員


發表:91
回覆:69
積分:32
註冊:2006-12-13

發送簡訊給我
#9 引用回覆 回覆 發表時間:2007-01-19 16:15:33 IP:140.137.xxx.xxx 訂閱

===================引 用 文 章===================
問題一、用GET的方法送出登錄字串,有非常大的風險,在內網就可以被其他的電腦直接用SNIFFER嗅探到,完全不用DECODE就可以看的清清楚楚~~一點保障也沒有~~~更不用講企圖攔截封包的木馬病毒了~~~~
問題二、GET的長度有限,此法不妥
問題三、如果ASP端是別人寫的,這篇文章的作者只是想用元件自動登錄主機動態拿資料,那就難以掌控對方用什麼方法取得用戶的請求字串....
SO...................................................還是由本篇作者自己掂量掂量吧
大大:
可是我要登錄的網頁主機,在登錄時,網址列他隱藏了接收ID和PASS的變數,我還是不知要將兩個EDIT的值往哪塞阿!!!!


------
~~~~~~~~時時多爬文 勿使惹塵埃~~~~~~~~
~~~~~~~~時時多爬文 勿使惹塵埃~~~~~~~~
~~~~~~~~時時多爬文 勿使惹塵埃~~~~~~~~
japhen
中階會員


發表:2
回覆:57
積分:71
註冊:2006-08-16

發送簡訊給我
#10 引用回覆 回覆 發表時間:2007-01-19 16:21:56 IP:125.229.xxx.xxx 訂閱
汗~~瀑布汗~~~~外加三條線

看html原始碼啊,總會有<FORM ACTION="http://....." method="POST">,你找找看INPUT欄位唄~~
一定可以找到的,除非除非他用的是FRAME跨到別的窗口去POST(就有這種網站如此做)


===================引 用 文 章===================

===================引 用 文 章===================
問題一、用GET的方法送出登錄字串,有非常大的風險,在內網就可以被其他的電腦直接用SNIFFER嗅探到,完全不用DECODE就可以看的清清楚楚~~一點保障也沒有~~~更不用講企圖攔截封包的木馬病毒了~~~~
問題二、GET的長度有限,此法不妥
問題三、如果ASP端是別人寫的,這篇文章的作者只是想用元件自動登錄主機動態拿資料,那就難以掌控對方用什麼方法取得用戶的請求字串....
SO...................................................還是由本篇作者自己掂量掂量吧
大大:
可是我要登錄的網頁主機,在登錄時,網址列他隱藏了接收ID和PASS的變數,我還是不知要將兩個EDIT的值往哪塞阿!!!!


------
歡迎在大陸的台商加入我們的行列
台商小棧 www.twgocn.com
wishmaster926
初階會員


發表:91
回覆:69
積分:32
註冊:2006-12-13

發送簡訊給我
#11 引用回覆 回覆 發表時間:2007-01-19 16:29:33 IP:140.137.xxx.xxx 訂閱

===================引 用 文 章===================
汗~~瀑布汗~~~~外加三條線

看html原始碼啊,總會有 <form action="http://....." method="post"> ,你找找看INPUT欄位唄~~
一定可以找到的,除非除非他用的是FRAME跨到別的窗口去POST(就有這種網站如此做)


===================引 用 文 章===================

===================引 用 文 章===================
問題一、用GET的方法送出登錄字串,有非常大的風險,在內網就可以被其他的電腦直接用SNIFFER嗅探到,完全不用DECODE就可以看的清清楚楚~~一點保障也沒有~~~更不用講企圖攔截封包的木馬病毒了~~~~
問題二、GET的長度有限,此法不妥
問題三、如果ASP端是別人寫的,這篇文章的作者只是想用元件自動登錄主機動態拿資料,那就難以掌控對方用什麼方法取得用戶的請求字串....
SO...................................................還是由本篇作者自己掂量掂量吧
大大:
可是我要登錄的網頁主機,在登錄時,網址列他隱藏了接收ID和PASS的變數,我還是不知要將兩個EDIT的值往哪塞阿!!!!


Dear 大大:
我知道,但看過原始檔.沒有.另外附加說明,那網頁登錄id和pass是popup出一小的登錄視窗進行登錄.不是在該網頁直接進行登錄~~~~~~~~ -_-......

</form>
------
~~~~~~~~時時多爬文 勿使惹塵埃~~~~~~~~
~~~~~~~~時時多爬文 勿使惹塵埃~~~~~~~~
~~~~~~~~時時多爬文 勿使惹塵埃~~~~~~~~
japhen
中階會員


發表:2
回覆:57
積分:71
註冊:2006-08-16

發送簡訊給我
#12 引用回覆 回覆 發表時間:2007-01-19 17:14:03 IP:125.229.xxx.xxx 訂閱
除非那個POPUP出來的登錄畫面不給你按右鍵,不然你還是可以看到原始碼的......不然你給我網址,我幫你分析
------
歡迎在大陸的台商加入我們的行列
台商小棧 www.twgocn.com
系統時間:2024-04-25 17:56:20
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!