>백엔드 개발 >C++ >C#을 사용하여 프로그래밍 방식으로 웹 사이트에 로그인하는 방법은 무엇입니까?

C#을 사용하여 프로그래밍 방식으로 웹 사이트에 로그인하는 방법은 무엇입니까?

DDD
DDD원래의
2025-01-18 09:36:10431검색

C#을 사용하여 웹사이트 로그인 스크립트 작성

문제: 내 웹 스크래퍼에는 로그인한 사용자가 웹사이트의 특정 소스 코드에 액세스해야 합니다. 이 제한을 우회하려면 내 프로그램에서 로그인 기능을 어떻게 구현해야 합니까?

답변: 지정된 웹사이트(mmoinn.com/index.do?PageModule=UsersLogin)에 로그인하려면 다음 단계를 따르세요.

1. 로그인 양식에 POST 요청을 보냅니다.

로그인 자격 증명을 POST 형식으로 지정하세요.

<code class="language-csharp">string formUrl = "http://www.mmoinn.com/index.do?PageModule=UsersAction&Action=UsersLogin";
string formParams = string.Format("email_address={0}&password={1}", "您的邮箱地址", "您的密码");

WebRequest req = WebRequest.Create(formUrl);
req.ContentType = "application/x-www-form-urlencoded";
req.Method = "POST";

byte[] bytes = Encoding.ASCII.GetBytes(formParams);
req.ContentLength = bytes.Length;

using (Stream os = req.GetRequestStream())
{
    os.Write(bytes, 0, bytes.Length);
}

WebResponse resp = req.GetResponse();
string cookieHeader = resp.Headers["Set-cookie"];</code>

2. 로그인 페이지 받기

로그인 양식에서 검색한 쿠키 헤더가 포함된 원하는 페이지에 대한 GET 요청을 만듭니다.

<code class="language-csharp">string getUrl = "登录后页面的URL";
WebRequest getRequest = WebRequest.Create(getUrl);
getRequest.Headers.Add("Cookie", cookieHeader);
WebResponse getResponse = getRequest.GetResponse();

using (StreamReader sr = new StreamReader(getResponse.GetResponseStream()))
{
    string pageSource = sr.ReadToEnd();
}</code>

추가 참고사항:

로그인 POST의 응답을 확인하려면 다음 코드 줄을 추가하면 됩니다.

<code class="language-csharp">using (StreamReader sr = new StreamReader(resp.GetResponseStream()))
{
    string pageSource = sr.ReadToEnd();
}</code>

서버의 응답을 확인하려면 pageSource 문자열을 확인하세요.

How to Programmatically Log In to a Website Using C#?

위 내용은 C#을 사용하여 프로그래밍 방식으로 웹 사이트에 로그인하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.