使用asp.net自动输入用户名和密码

使用asp.net自动输入用户名和密码,asp.net,.net,Asp.net,.net,我使用带有特定参数的http post点击一个url,点击url时会出现一个框,要求输入用户名和密码。现在我在浏览器中粘贴url,输入它时要求输入用户名和密码 当我知道如何将请求发送到url,但我想知道如何使用代码自动输入用户名和密码时,我想使用asp.net来执行此操作。谢谢你你要做的是用用户名和密码向服务器发送POST请求。大多数服务器不会接受直接身份验证请求,需要在请求之前设置一些Http头,如cookies、referer 您可以使用类似的工具查看浏览器实际发送到服务器的内容 // cr

我使用带有特定参数的http post点击一个url,点击url时会出现一个框,要求输入用户名和密码。现在我在浏览器中粘贴url,输入它时要求输入用户名和密码


当我知道如何将请求发送到url,但我想知道如何使用代码自动输入用户名和密码时,我想使用asp.net来执行此操作。谢谢你

你要做的是用用户名和密码向服务器发送POST请求。大多数服务器不会接受直接身份验证请求,需要在请求之前设置一些Http头,如cookies、referer

您可以使用类似的工具查看浏览器实际发送到服务器的内容

// create the POST request
var postParams = "user=userName&password=userPassword";
var webRequest = (HttpWebRequest)WebRequest.Create(yourUrl);
webRequest.Method = "POST";
webRequest.ContentType = "application/x-www-form-urlencoded";
webRequest.ContentLength = postParams.Length;

// send POST data
using (StreamWriter sw = new StreamWriter(webRequest.GetRequestStream()))
{
    sw.Write(postParams);
}
下面是一个向服务器发送post数据的小示例

// create the POST request
var postParams = "user=userName&password=userPassword";
var webRequest = (HttpWebRequest)WebRequest.Create(yourUrl);
webRequest.Method = "POST";
webRequest.ContentType = "application/x-www-form-urlencoded";
webRequest.ContentLength = postParams.Length;

// send POST data
using (StreamWriter sw = new StreamWriter(webRequest.GetRequestStream()))
{
    sw.Write(postParams);
}
编辑:这是设置基本授权标头的最简单方法

webRequest.Credentials = new NetworkCredential("userName", "userPassword");

您提供的链接表明他们使用基本HTTP身份验证。

这既不安全也不受保障,但您可以使用
SendKeys。Send
方法发送用户名、选项卡(关注密码文本框)、密码,然后输入(提交).我真正想要的是通过代码自动获得网页响应并填写表单。您使用的是ASP.net表单还是ASP.net MVC。无论哪种方式,都可以设置文本框的值。在MVC中,您可以在视图中进行设置,在表单中,您可以通过在页面中查找元素,然后设置.Text属性来进行设置。这就是我们在这里所做的,他们提到我们需要包含http授权头,然后他们给出了一个CURL和php的示例来说明如何做到这一点。我正在尝试在.net环境中执行类似的操作,而不必使用phpI。我希望使用asp来设置http头,而不是教程中提到的curl+php,因为您需要设置授权头。或者更简单,只需设置凭据。我会更新我的答案。