Don't know what was wrong with the original, I finally got the code functioning on my PC with the following Class.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.IO;
using System.Net;
using System.Web;
using System.Windows.Forms;
namespace Neopets.classes.communications
{
class Authentication
{
CookieContainer cookies = new CookieContainer();
HttpWebRequest request = null;
HttpWebResponse response = null;
public int NeopetsLogin(string username, string password)
{
string returnData = string.Empty;
request = (HttpWebRequest)WebRequest.Create(new Uri("http://www.neopets.com/"));
request.Method = "GET";
request.CookieContainer = cookies;
try
{
response = (HttpWebResponse)request.GetResponse();
}
catch(WebException e)
{
if (e.Status == WebExceptionStatus.Timeout)
{
NeopetsLogin(username, password);
}
if (e.Status == WebExceptionStatus.ConnectFailure)
{
NeopetsLogin(username, password);
}
}
request = (HttpWebRequest)WebRequest.Create(new Uri("http://www.neopets.com/login.phtml"));
request.Method = "POST";
request.ContentType = "application/x-www-form-urlencoded";
request.UserAgent = "Mozilla/5.0 (Windows NT 6.3; WOW64; rv:34.0) Gecko/20100101 Firefox/34.0";
request.Referer = "http://www.neopets.com/";
request.AllowAutoRedirect = true;
request.KeepAlive = true;
request.CookieContainer = cookies;
StringBuilder postData = new StringBuilder();
postData.Append("destination=%252Findex.phtml");
postData.Append("&username=kbhtech");
postData.Append("&password=***PASWORDREMOVEDFORSECURITYPURPOSES***");
using (StreamWriter writer = new StreamWriter(request.GetRequestStream()))
writer.Write(postData.ToString());
try
{
response = (HttpWebResponse)request.GetResponse();
}
catch (WebException e)
{
if (e.Status == WebExceptionStatus.Timeout)
{
NeopetsLogin(username, password);
}
if (e.Status == WebExceptionStatus.ConnectFailure)
{
NeopetsLogin(username, password);
}
}
using (StreamReader reader = new StreamReader(response.GetResponseStream()))
returnData = reader.ReadToEnd();
if (returnData.Contains("Error: Incorrect username in cookie. Please contact support@neopets.com with your browser type and operating system. Thanks!"))
{
return 1;
}
if (returnData.Contains("Sorry, we did not find an account with that username"))
{
return 2;
}
if (returnData.Contains("Invalid Password. Please enter the correct password to continue.")){
return 3;
}
if (returnData.Contains("Logout"))
{
return 0;
}
return 4;
}
}
}