Rumah >pembangunan bahagian belakang >C++ >Bagaimana untuk Log Masuk Secara Pemrograman ke Laman Web Menggunakan C#?
Masalah: Pengikis web saya memerlukan pengguna log masuk untuk mengakses kod sumber tertentu di tapak web. Bagaimanakah saya boleh melaksanakan fungsi log masuk dalam program saya untuk memintas sekatan ini?
Jawapan: Untuk log masuk ke tapak web yang ditentukan (mmoinn.com/index.do?PageModule=UsersLogin), anda boleh mengikuti langkah di bawah:
1. Hantar permintaan POST ke borang log masuk
Formatkan bukti kelayakan log masuk anda ke dalam borang 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. Dapatkan halaman log masuk
Buat permintaan GET ke halaman yang dikehendaki yang mengandungi pengepala kuki yang anda dapatkan daripada borang log masuk:
<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>
Nota tambahan:
Jika anda ingin mengesahkan respons POST log masuk, anda boleh menambah baris kod berikut:
<code class="language-csharp">using (StreamReader sr = new StreamReader(resp.GetResponseStream())) { string pageSource = sr.ReadToEnd(); }</code>
Semak rentetan pageSource untuk menyemak respons pelayan.
Atas ialah kandungan terperinci Bagaimana untuk Log Masuk Secara Pemrograman ke Laman Web Menggunakan C#?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!