1
내 질문은 어떻게 C#에서 동일한 인증 쿠키와 함께 HttpWebRequest를 통해 여러 요청을 호출 할 수 있습니까? 나는 시간을 많이 시도하지만 지금 나는 그것을 수행하는 방법을 몰라 /이C# HttpWebRequest를 통해 동일한 쿠키로 여러 POST, GET 요청을 호출하려면 어떻게해야합니까?
내 코드는 다음과 같습니다 :
var postData = "method=loginFormAccount&args[0][email]=###&args[0][pass]=###&args[0][cache]=37317&args[]=1";
var data = Encoding.ASCII.GetBytes(postData);
HttpWebRequest request = (HttpWebRequest)WebRequest.Create("###");
request.CookieContainer = new CookieContainer();
request.Method = "POST";
request.ContentType = "application/x-www-form-urlencoded";
request.AllowAutoRedirect = true;
using (var stream = request.GetRequestStream())
{
stream.Write(data, 0, data.Length);
}
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
var cookies = new CookieContainer();
cookies.Add(response.Cookies);
System.IO.File.WriteAllText(@desktop + "\\post.html", new StreamReader(response.GetResponseStream()).ReadToEnd());
// =================================== END LOGIN ==================================== \\
System.IO.File.WriteAllText(@desktop + "\\cookie.html","");
foreach (Cookie cook in response.Cookies)
{
using (System.IO.StreamWriter file = new System.IO.StreamWriter(@desktop + "\\cookie.html", true))
{
file.WriteLine(cook.ToString());
}
// Show the string representation of the cookie.
}
HttpWebRequest requestNext = (HttpWebRequest)WebRequest.Create("####");
requestNext.CookieContainer = cookies;
requestNext.Method = "GET";
HttpWebResponse responseNext = (HttpWebResponse)requestNext.GetResponse();
//var responseString = new StreamReader(response.GetResponseStream()).ReadToEnd();
System.IO.File.WriteAllText(@desktop + "\\get.html", new StreamReader(responseNext.GetResponseStream()).ReadToEnd());
내 주요 문제는 내가 갖는 쿠키는 쿠키 전에 인증이다,이다 그래서 나는 인증 후에 쿠키를 얻기 위해 뭔가를해야만한다.
당신이 첫 번째 요청에서 다시 인증 쿠키를 점점 확실해? –
예, 확실합니다. 나는 뭔가있어. 코드는이 순간에 잘 작동합니다.'var cookies = new CookieContainer(); cookies.Add (response.Cookies);'응용 프로그램이 쿠키를 CookieContainer에 추가했지만 다음 요청에이 CookieContainer를 추가 할 수 없습니다. 나는 첫 번째 요청 (이 쿠키는 작동 중임)에서 파일에 쿠키를 쓰는 작은 함수를 작성하고 두 번째 요청 (GET)은 첫 번째 매개 변수가 전달되지 않은 것처럼 새 쿠키를 작성하는 요청을 작성합니다. 나는 왜 그것이 새로운 쿠키를 창조하는지 모른다 :/ – Tesly