이 코드를 사용하여 로그인하고 약 반년 동안 필요한 파일을 다운로드하면 이제 예외가 throw됩니다. '{0}'매개 변수는 빈 문자열 일 수 없습니다. 매개 변수 이름 : cookie.Domain, Google을 확인한 적이 있지만 인기있는 문제이지만 이유를 이해할 수 없습니까? 전에는 모든 것이 괜찮 았고 프로그램 코드는 변경하지 않았지만 난로 쿠키에서 무엇이 변경 될 수 있으므로 프로그램에서 지금 이해할 수 없습니까? 우리가 경우 여기를 cookie.Domain 매개 변수CookieAwareWebClient 인수가 0이 될 수 없음
Cookie cookie = new Cookie(); //create cookie
this.CookieContainer.Add(cookie);
을 가질 수있는 방법을
this.CookieContainer.Add(cookie);
또한 라인
는 CookieContainer cookies = new CookieContainer();
CookieAwareWebClient http = new CookieAwareWebClient(cookies);
string sLogin = "name=_______&password=_______&dobav2_login=_______";
http.Headers["Content-type"] = "application/x-www-form-urlencoded";
http.Headers["User-Agent"] = "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/535.2 (KHTML, like Gecko) Chrome/15.0.874.121 Safari/535.2";
string sResponse = http.UploadString("https://www.railwagonlocation.com/en/index.php", sLogin);
richTextBox1.Text = sResponse;
http.DownloadFile("https://www.railwagonlocation.com/export_excel.php?export_type=vagon_list&l=en", "D:\\my_excel.xlsx");
AwareClient
public class CookieAwareWebClient : WebClient
{
public CookieContainer CookieContainer { get; set; }
public Uri Uri { get; set; }
public CookieAwareWebClient()
: this(new CookieContainer())
{
}
public CookieAwareWebClient(CookieContainer cookies)
{
this.CookieContainer = cookies;
}
protected override WebRequest GetWebRequest(Uri address)
{
WebRequest request = base.GetWebRequest(address);
if (request is HttpWebRequest)
{
(request as HttpWebRequest).CookieContainer = this.CookieContainer;
}
HttpWebRequest httpRequest = (HttpWebRequest)request;
httpRequest.AutomaticDecompression = DecompressionMethods.GZip | DecompressionMethods.Deflate;
return httpRequest;
}
protected override WebResponse GetWebResponse(WebRequest request)
{
WebResponse response = base.GetWebResponse(request);
String setCookieHeader = response.Headers[HttpResponseHeader.SetCookie];
if (setCookieHeader != null)
{
//do something if needed to parse out the cookie.
if (setCookieHeader != null)
{
Cookie cookie = new Cookie(); //create cookie
this.CookieContainer.Add(cookie);
}
}
return response;
}
}
오류 우리 방금 만든 새 쿠키?