有一个内部网站在工作中托管在与大多数内部网站不同的服务器上。该网站输出一些我想通过屏幕抓取获得的信息。我已经使用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)的 –