我只是尝试为travian创建bot,我找到了一些登录代码
//download html
WebClient client = new WebClient();
client.Encoding = System.Text.Encoding.UTF8;
string source = client.DownloadString(@"Http://" + server + "/login.php");
source = source.Replace("\"", "");
//search for user
Regex rloginName = new Regex(@"name=login value=\w*");
Match mloginName = rloginName.Match(source);
if (mloginName.Success)
{
string loginName = mloginName.ToString().Replace(@"name=login value=", "");
}
//search for pass
Regex rloginPassword = new Regex(@"type=password name=\w*");
Match mloginPassword = rloginPassword.Match(source);
if (mloginPassword.Success)
{
string loginPassword = mloginPassword.ToString().Replace(@"type=password name=", "");
}
Regex rloginUsername = new Regex(@"input class=fm fm110 type=text name=\w*");
Match mloginUsername = rloginUsername.Match(source);
if (mloginUsername.Success)
{
string loginUsername = mloginUsername.ToString().Replace(@"input class=fm fm110 type=text name=", "");
}
Regex rloginRand = new Regex(@"<p align=center><input type=hidden name=\w*");
Match mloginRand = rloginRand.Match(source);
if (mloginRand.Success)
{
string loginrand = mloginRand.ToString().Replace("<p align=center><input type=hidden name=", "");
}
string postString = @"w=1024:768&login=" + loginName + "&" + loginUsername + "=" + user + "&" + loginPassword + "=" + pass + "&" + loginrand + "=&s1.x=10&s1.y=10&s1=login";
WebRequest req = WebRequest.Create(@"http://" + server + "/dorf1.php");
req.ContentType = "application/x-www-form-urlencoded";
req.Method = "POST";
byte[] bytes = System.Text.Encoding.ASCII.GetBytes(postString);
req.ContentLength = bytes.Length;
req.ContentLength = bytes.Length;
Stream os = req.GetRequestStream();
os.Write(bytes, 0, bytes.Length);
os.Close();
WebResponse resp = req.GetResponse();
StreamReader sr = new StreamReader(resp.GetResponseStream());
Run Code Online (Sandbox Code Playgroud)
但当我试图运行时,我看到这个错误,
Form1.cs(67,144):错误CS0103:当前上下文错误CS0103中不存在名称'loginrand':当前上下文错误中不存在名称'loginPassword'错误CS0103:名称'loginUsername'不存在于当前上下文错误中当前上下文错误CS0103:当前上下文中不存在名称"loginName"
可以帮助一些人
string loginrand; if(mloginRand.Success){loginrand = mloginRand.ToString().替换("
但没有变化:(
Run Code Online (Sandbox Code Playgroud)------ Build started: Project: travian-ah, Configuration: Debug AnyCPU ------ C:\ WINDOWS\Microsoft.NET\Framework\v2.0.50727\Csc.exe/noconfig/nowarn:1701,1702/errorreport:prompt/warn:4/define:DEBUG; TRACE/reference: C:\ WINDOWS\Microsoft.NET\Framework\v2.0.50727\System.Data.dll /reference:C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\System.Deployment.dll/reference:C:\ WINDOWS\Microsoft.NET\Framework\v2.0.50727\System.dll /reference:C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\System.Drawing.dll /reference:C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\System.Windows.Forms.dll /reference:C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\System.Xml.dll/debug +/debug:full/optimize-/out:obj\Debug\travian-ah.exe /resource:obj\Debug\travian_ah.Form1.resources /resource:obj\Debug\travian_ah.Properties.Resources.resources/target:winexe Form1.cs Form1.Designer.cs Program.cs Properties\AssemblyInfo.cs Properties\Resources.Designer.cs Properties\Settings.Designer.cs C:\ Documents and Settings\My Documents\Visual Studio 2005\Projects\travian-ah\travian-ah\Form1.cs(33, 64):错误CS0165:使用未分配的本地变量'server'C:\ Documents and Settings\My Documents\Visual Studio 2005\Projects\travian-ah\travian-ah\Form1.cs(70,56):错误CS0165:使用未分配的局部变量'loginName'C:\ Documents and Settings\My Documents\Visual Studio 2005\Projects\travian-ah\travian-ah\Form1.cs(70,74):错误CS0165:使用未分配的局部变量' loginUsername'C:\ Documents and Settings\My Documents\Visual Studio 2005\Projects\travian-ah\travian-ah\Form1.cs(70,96):错误CS0165:使用未分配的局部变量'user'C:\ Documents and Settings\My Documents\Visual Studio 2005\Projects\travian-ah\travian-ah\Form1.cs(70,109):错误CS0165:使用未分配的局部变量'loginPassword'C:\ Documents and Settings\My Documents\Visual Studio 2005\Projects\travian-ah\travian-ah\Form1.cs(70,131):错误CS0165:使用未分配的局部变量'pass'C:\ Documents and Settings\My Documents\Visual Studio 2005\Projects\travian-啊\ travian-ah\Form1.cs(70,144):错误CS0165:使用未分配的局部变量'loginrand'使用未分配的局部变量'pass'C:\ Documents and Settings\My Documents\Visual Studio 2005\Projects\travian-ah\travian-ah\Form1.cs(70,144):错误CS0165:使用未分配的局部变量'loginrand'使用未分配的局部变量'pass'C:\ Documents and Settings\My Documents\Visual Studio 2005\Projects\travian-ah\travian-ah\Form1.cs(70,144):错误CS0165:使用未分配的局部变量'loginrand'
例如:
if (mloginPassword.Success)
{
// variable defined here
string loginPassword =
mloginPassword.ToString().Replace(@"type=password name=", "");
}
// variable not available here
Run Code Online (Sandbox Code Playgroud)