有一個內部網站在工作中託管在與大多數內部網站不同的服務器上。該網站輸出一些我想通過屏幕抓取獲得的信息。我已經使用asp.net(C#)頁面和其他內部網站上的HTTPWebRequest完成了屏幕抓取,但與大多數情況不同,此站點需要用戶名和密碼。用戶名和密碼不是祕密,它們沿着登錄頁面,每個人都使用相同的登錄信息。自動登錄到網站以進行屏幕抓取
我在網上看到了一些實現自動登錄的例子,但沒有一個是我所需要的。我想使用一個aspx頁面登錄到該網站並從下一頁中檢索一些數據。
我見過的例子涉及到生成一個cookie並將登錄數據發佈到HTTPWebRequest流。我真的不確定如何在這種情況下做到這一點。
是否可以簡單地填充表單域並執行submitw按鈕(以編程方式和幕後)。
這裏是登錄頁面的代碼部分:
<script>
//StartTranslate:NetLanguage
function window_onload() {
deleteCookie("BodyURL","/Net",0);
document.loginform.UserName.focus();
document.loginform.UserName.value=sUserName;
document.loginform.UserName.select();
}
function doSubmit() {
var sUserName = SMCookieGetUserName();
loginform.submit();
}
</script>
<form name="loginform" action="/Net//netportal.dll/SubmitLogin" method="post" >
<input class="textbox" type="text" name="UserName" id="UserName" maxlength="128" tabindex="1" >
<input class="textbox" type="password" name="Password" id="Password" maxlength="128" tabindex="2" >
<img onClick="doSubmit();" src='/net/PortalPages/Images/slogin.gif' onselectstart="return false;" tabindex="3">
<input type="hidden" value="" name="Timezone">
<input type="hidden" value="" name="redirect">
<input type="hidden" value="true" name="ExplicitLogin">
</form>
的[屏幕抓取,在C#中asp.net形式登錄一個網站?]可能重複(http://stackoverflow.com/questions/901045/screen-刮-A位點上帶有一個-ASP淨表單登錄-在-c)的 –