我正在尝试制作一个登录名为ROBLOX的网站的程序。然后使用ROBLOX自己创建的API检查帐户的统计信息。
所以这是我的登录代码:
public static void MainLogin(string user, string pass, string ip, int port)
{
HttpWebRequest request = (HttpWebRequest)WebRequest.Create("https://www.roblox.com/NewLogin");
string postData = String.Format("username={0}&password={1}&submitLogin=Log+In&ReturnUrl=", user, pass);
byte[] data = Encoding.UTF8.GetBytes(postData);
WebProxy myproxy = new WebProxy(ip, port);
myproxy.BypassProxyOnLocal = false;
request.Proxy = myproxy;
request.Method = "POST";
request.AllowAutoRedirect = false;
request.ContentType = "application/x-www-form-urlencoded";
request.ContentLength = data.Length;
using (var stream = request.GetRequestStream())
{
stream.Write(data, 0, data.Length);
}
reqCookie = RetrieveCookie(request);
}
随着它登录,广告你可以看到它的最后一行,它说'RetrieveCookie'。这是我为获取我想要的cookie而做的另一个功能。我想要的cookie叫做'.ROBLOSECURITY = _'。这是我的retrievecookie功能:
private static string RetrieveCookie(HttpWebRequest htr)
{
using (var response = (HttpWebResponse)htr.GetResponse())
{
foreach (string item in response.Headers.Keys)
{
if (item == "Set-Cookie")
{
int Start = response.Headers[item].IndexOf(".ROBLOSECURITY=_", 0);
int End = response.Headers[item].IndexOf("; domain=", Start);
return response.Headers[item].Substring(Start, End - Start);
}
}
return null;
}
}
如您所见,该请求已在此处发回。我收到了错误:
int End = response.Headers[item].IndexOf("; domain=", Start);
我从中得到的错误是:
System.ArgumentOutOfRangeException
我真的不知道这意味着什么,但它必须对代理做些什么。因为当我不使用代理时,它才能正常工作!
我怎样才能让它与代理一起工作,这是否可能?
非常感谢!