我有一个网站,其中包含名称,员工ID,工资,来自和迄今为止。基本上,我曾打开该网站并手动输入每个值。
我想自动打开该网站,并使用C#将值分配给受尊重的项目。净。我不知道是否可能。任何人都可以建议我的方法或替代过程吗?
答案 0 :(得分:0)
您可以使用WebClient
System.Net
命名空间以编程方式执行网址。 url可以包含可以在加载url期间提取的查询字符串。然后可以将响应解码为字符串,这基本上是一个html,您可以根据自己的方便使用它。
以下是我必须执行该功能的方法。
public static string ReadUrlToString(string url, string method, string postParams, string userName, string password, string domain)
{
var wc = new WebClient();
// set the user agent to IE6
wc.Headers.Add("user-agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; .NET CLR 1.0.3705;)");
AssignCredentials(wc, userName, password, domain);
try
{
if (Is.EqualString(method, "POST"))
{
// Eg "field1=value1&field2=value2"
var bret = wc.UploadData(url, "POST", Encoding.UTF8.GetBytes(postParams));
return Encoding.UTF8.GetString(bret);
}
// actually execute the GET request
return wc.DownloadString(url);
}
catch (WebException we)
{
// WebException.Status holds useful information
//throw as needed
}
catch (Exception ex)
{
// other errors
//throw as needed
}
}
AssignCredentials
方法如下。
private static void AssignCredentials(WebClient wc, string userName, string password, string domain)
{
if (Is.NotEmptyString(userName))
{
wc.Credentials = Is.EmptyString(domain)
? new NetworkCredential(userName, password)
: new NetworkCredential(userName, password, domain);
}
}
希望这有帮助。