国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

.net 模擬登錄Post提交

2019-11-15 02:29:18
字體:
來源:轉載
供稿:網友

.net 模擬登錄Post提交

最近在做一個項目,要求集成到第三方系統中,由于先前沒有做過類似的活,所以折騰了幾天,蹭著有閑情的時候記錄一下。

以下實例,都是我用asp.net語言進行開發的,關于HTML元素的獲取,使用的是Google瀏覽器。

1. 非Asp.net開發的網站

我們拿www.51cto.com來做實例,首先進入www.51cto.com,點擊登錄,就進入到該博客的登錄頁面。使用Google瀏覽器,按下F12,找到其表單的action值,可以發現其action值為http://home.51cto.com/index.php?s=/Index/doLogin,然后點擊賬號和密碼的文本框,右擊鼠標,審查元素,分別找到其對應的name值。

下面的代碼是賬號文本框的html代碼,我們要的是其name屬性,發現只為email,同樣的方法我們可以得到密碼的name屬性。

<input name="email" type="text" class="login_shuru1" onfocus="this.className='login_shuru2';if (this.value=='用戶名/注冊郵箱') {this.value=''}" onblur="this.className='login_shuru1';if (this.value=='') {this.value='用戶名/注冊郵箱'}" value="用戶名/注冊郵箱">

我們要的基本元素都已經,現在我們就可以模擬登錄51cto了,新建一個Asp.net的項目,寫上幾行html代碼,如下

<form action="http://home.51cto.com/index.php?s=/Index/doLogin" method="post" name="_DominoForm" id="form1" >        <input name="email" id="email" type="hidden" value="whonest@sohu.com" />        <input name="passwd" id="passwd" type="hidden" value="passWord" /> </form>

然后再寫兩行JS代碼,進行表單提交

var theForm = document.getElementById('form1');theForm.submit();

現在運行程序看一下,如果填寫的用戶名和密碼正確的話,發現就已經模擬登錄到51cto的網站了。

[多說一句:如果登錄失敗,和該網站的按鈕有點關系,按鈕是圖片按鈕,用審查元素的方法,找到button的name屬性,在Form表單下添加下面幾行代碼就可以了。]

<input type="hidden" name="button" id="button" value="登陸" /><input type='hidden' name='button.x' id='button.x' value='26' /><input type='hidden' name='button.y' id='button.y' value='86' />

[PS:這三個的值,似乎不重要,可以隨便填的]

2. ASP.net開發的網站

為何要將Asp.net開發的網站拿出來單獨說明,這和它背后的實現技術有關系,詳細不說明,直接看實例。我發現博客園正好是用Asp.net開發的,所以我們就拿博客園作為實例來講,同上面的操作一樣,我們進入登錄頁面找到我們想要的幾個元素。

首先,我們我們寫上和1類似的代碼,如下

<form action="http://passport.VEVb.com/login.aspx" method="post" name="form1"    id="form1">    <input name="tbUserName" id="tbUserName" type="hidden" value="TowerKing" />    <input name="tbPassword" type="txtPWD" id="tbPassword" value="password" /></form>

運行程序,我們發現壓根就沒什么發現,只是進入了一個普通的登錄頁面而已。細心的朋友應該會發現,其源碼中有幾個隱藏的div層下的input,分別是__LASTFOCUS、__EVENTARGUMENT、__EVENTTARGET、__VIEWSTATE和__EVENTVALIDATION,我們在這里比較有用的就是__VIEWSTATE和__EVENTVALIDATION這兩個玩意兒,所以我們得把代碼做個簡單的修改,修改后的代碼如下所示

復制代碼
<form action="http://passport.VEVb.com/login.aspx" method="post" name="form1"    id="form1">    <input name="tbUserName" id="tbUserName" type="hidden" value="TowerKing" />    <input name="tbPassword" type="txtPWD" id="tbPassword" value="password" />    <input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="/wEPDwULLTE1MzYzODg2NzZkGAEFHl9fQ29udHJvbHNSZXF1aXJlUG9zd
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 客服| 抚州市| 赣榆县| 兴义市| 永昌县| 淮安市| 揭阳市| 靖边县| 云霄县| 老河口市| 桃江县| 西藏| 保靖县| 丹阳市| 松江区| 额济纳旗| 和林格尔县| 沽源县| 大姚县| 桓台县| 工布江达县| 贞丰县| 皮山县| 白河县| 尚志市| 保靖县| 隆安县| 揭西县| 化州市| 马鞍山市| 海丰县| 明水县| 赞皇县| 皋兰县| 常宁市| 江达县| 康平县| 清新县| 方城县| 镇江市| 台中县|