콘솔 데이터의 사용자 이름 &을 전달하여 콘솔의 Https 사이트에 로그인하고 싶습니다. 그러나 나는 이것을 할 수 없다. 내가 알기로는 '잘못된 사용자 이름/비밀번호'의 사례를 다루는 페이지입니다. 많이 찾았지만이 문제를 해결할 수 없습니다. 난 내가에만 응답 문자열을 저장 스트림 클래스를 사용하고SSL 사이트에 로그인했는데 실패했습니다.
CookieContainer CC = new CookieContainer();
WebRequest request = WebRequest.Create("https://the websit link is here!");
request.Proxy = null;
request.Credentials = CredentialCache.DefaultCredentials;
//allows for validation of SSL certificates
ServicePointManager.ServerCertificateValidationCallback += new System.Net.Security.RemoteCertificateValidationCallback(ValidateServerCertificate);
Console.WriteLine("\n");
Console.WriteLine("Enter your Email/Username :- ");
string username = Console.ReadLine();
Console.WriteLine("Enter your password :- ");
string password = Console.ReadLine();
string postData = String.Format("username={0}&password={1}", username, password);
HttpWebRequest getRequest = (HttpWebRequest)WebRequest.Create("https://the login page link of the website here! ");
getRequest.Method = WebRequestMethods.Http.Post;
getRequest.UserAgent = "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/535.2 (KHTML, like Gecko) Chrome/15.0.874.121 Safari/535.2";
byte[] byteArray = Encoding.ASCII.GetBytes(postData);
Stream newStream = getRequest.GetRequestStream(); //open connection
newStream.Write(byteArray, 0, byteArray.Length); // Send the data.
newStream.Close();
HttpWebResponse getResponse = (HttpWebResponse)getRequest.GetResponse();
// getRequest.CookieContainer.Add(getResponse.Cookies);
string responseString = new StreamReader(getResponse.GetResponseStream()).ReadToEnd();
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
Stream dataStream = response.GetResponseStream();
StreamReader reader = new StreamReader(dataStream);
Console.WriteLine("Reader Object(StreamReader): " + reader);
string responseStr = reader.ToString();
string responseFromServer = reader.ReadToEnd();
Console.WriteLine("\nWriting to file...");
StreamWriter file = new StreamWriter("E:\\I'M Response_FinalTry.html");
try
{
for (int i = 0; i < responseFromServer.Length; i++)
{
file.Write(responseFromServer[i]);
}
}
catch (Exception e)
{
Console.WriteLine("Caught Exception is: " + e);
}
finally
{
Console.WriteLine("Closing file...");
file.Close();
Console.WriteLine("Done..!!");
}
}
public static bool ValidateServerCertificate(object sender, X509Certificate certificate, X509Chain chain, SslPolicyErrors sslPolicyErrors)
{
return true;
}
... 내가 다루고있어 현재 코드를 공유하고 있습니다 .. 통과는 SSL에 의해 성공적으로이 여전히 잘못된 페이지로 남아/페이지에서 서버 .. 나는 서버 측 코드가 없다 ... 친절하게,이 호에서 나를 안내해라 .... :)
당신이 UTF8에서 'postData를'바이트 배열을 받고 보내는 시도? 또한 콘텐츠 유형의 유효성을 검사하십시오. 확인 : http://msdn.microsoft.com/en-us/library/debx8sh9(v=vs.110).aspx –