Get data Howkteam kèm cookie dùng HttpRequest
Lập trình Http Request với C#

Danh sách bài học
Get data Howkteam kèm cookie dùng HttpRequest
Dẫn nhập
Chào mừng các bạn đến với khóa học LẬP TRÌNH HTTP REQUEST VỚI C#, khóa học đầu tiên trong cụm khóa học về Auto C# của Howkteam. Mục đích hướng tới là các bạn có thể làm auto bằng C# mà không cần dùng tới các ngôn ngữ như AutoIT, C++,…
Ở bài trước chúng ta đã tìm hiểu về cách GET DATA TỪ WEBSITE HOWKTEAM DÙNG HTTP REQUEST. Trong bài này chúng ta sẽ tiếp tục tìm hiểu cách Get data Howkteam kèm cookie dùng HttpRequest
Nội dung
Nội dung bao gồm Source code & các lưu ý chính về quá trình thực hiện phần mềm. Kteam khuyến khích bạn cập nhập thêm nhiều kinh nghiệm cũng như hiểu chi tiết hơn về các kỹ thuật được đề cập trong bài học thông qua các video đính kèm.
Đừng quên Like Facebook hoặc +1 Google để ủng hộ Kteam và tác giả.
Để có đủ khả năng học hiểu các nội dung được đề cập đến trong khóa học. Bạn nên có tối thiểu kiến thức về các phần:
Ngoài ra, cũng nên trau dồi thêm kiến thức khác qua các project thực tế như:
- LẬP TRÌNH TỪ ĐIỂN NÓI VỚI C# WINFORM
- LẬP TRÌNH GAME CARO VỚI C# WINFORM
- LẬP TRÌNH ỨNG DỤNG LẬP LỊCH VỚI C# WINFORM
Phần mềm sử dụng
Để việc thao tác theo hướng dẫn được tốt nhất bạn nên cài đặt các phần mềm
- Visual Sutdio mới nhất (2015 hoặc 2017 community)
- Trình duyệt web (nên chọn Google Chrome có hỗ trợ phần devtools khá hữu ích)
- Phần mềm Regex Test
Project tham khảo
Form1.cs
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Diagnostics;
using System.Drawing;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using xNet;
namespace HttpRequest_Bai1_GetDataFrom_HowKteam
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
//Crawl
/*
HttpClient
HttpWebClient
WebClient
HttpWebRequest
HttpRequest
*/
var html = GetData("https://www.howkteam.com/");
TestData(html);
}
void TestData(string html)
{
File.WriteAllText("res.html", html);
Process.Start("res.html");
}
void AddCookie(HttpRequest http, string cookie)
{
var temp = cookie.Split(';');
foreach (var item in temp)
{
var temp2 = item.Split('=');
if (temp2.Count() > 1)
{
http.Cookies.Add(temp2[0], temp2[1]);
}
}
}
string GetData(string url, string cookie = null)
{
HttpRequest http = new HttpRequest();
http.Cookies = new CookieDictionary();
if (!string.IsNullOrEmpty(cookie))
{
AddCookie(http, cookie);
}
http.UserAgent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100 Safari/537.36";
string html = http.Get(url).ToString();
return html;
}
private void button2_Click(object sender, EventArgs e)
{
string cookie = "";
var html = GetData("https://www.howkteam.com/", cookie);
TestData(html);
}
}
}
Form1.Designer.cs
namespace HttpRequest_Bai1_GetDataFrom_HowKteam
{
partial class Form1
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.button1 = new System.Windows.Forms.Button();
this.button2 = new System.Windows.Forms.Button();
this.SuspendLayout();
//
// button1
//
this.button1.Location = new System.Drawing.Point(12, 12);
this.button1.Name = "button1";
this.button1.Size = new System.Drawing.Size(75, 23);
this.button1.TabIndex = 0;
this.button1.Text = "Get data";
this.button1.UseVisualStyleBackColor = true;
this.button1.Click += new System.EventHandler(this.button1_Click);
//
// button2
//
this.button2.Location = new System.Drawing.Point(93, 12);
this.button2.Name = "button2";
this.button2.Size = new System.Drawing.Size(122, 23);
this.button2.TabIndex = 1;
this.button2.Text = "Get data with cookie";
this.button2.UseVisualStyleBackColor = true;
this.button2.Click += new System.EventHandler(this.button2_Click);
//
// Form1
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(444, 191);
this.Controls.Add(this.button2);
this.Controls.Add(this.button1);
this.Name = "Form1";
this.Text = "Form1";
this.ResumeLayout(false);
}
#endregion
private System.Windows.Forms.Button button1;
private System.Windows.Forms.Button button2;
}
}
Project tải xuống
Nếu việc thực hành theo hướng dẫn không diễn ra suôn sẻ như mong muốn. Bạn cũng có thể tải xuống PROJECT THAM KHẢO ở link bên dưới!
Phần mềm & Thư viện khác
Kết
Trong bài này, chúng ta đã tìm hiểu cách Get data Howkteam kèm cookie dùng HttpRequest
Ở bài sau, Kteam sẽ giới thiệu đến bạn cách POST DATA LOGIN WEBSITE HOWKTEAM VỚI C# DÙNG HTTP REQUEST
Cảm ơn các bạn đã theo dõi bài viết. Hãy để lại bình luận hoặc góp ý của mình để phát triển bài viết tốt hơn. Và đừng quên “Luyện tập – Thử Thách – Không ngại khó”
Tải xuống
Tài liệu
Nhằm phục vụ mục đích học tập Offline của cộng đồng, Kteam hỗ trợ tính năng lưu trữ nội dung bài học Get data Howkteam kèm cookie dùng HttpRequest dưới dạng file PDF trong link bên dưới.
Ngoài ra, bạn cũng có thể tìm thấy các tài liệu được đóng góp từ cộng đồng ở mục TÀI LIỆU trên thư viện Howkteam.com
Đừng quên like và share để ủng hộ Kteam và tác giả nhé!

Thảo luận
Nếu bạn có bất kỳ khó khăn hay thắc mắc gì về khóa học, đừng ngần ngại đặt câu hỏi trong phần bên dưới hoặc trong mục HỎI & ĐÁP trên thư viện Howkteam.com để nhận được sự hỗ trợ từ cộng đồng.
Nội dung bài viết
Trong code em có 3 dòng dùng để add cookie. tuy nhiên cái số 1,2 đều bị lỗi, cái thứ 3 chạy đc ạ.
Em xin cảm ơn
A ơi cho e hỏi , nếu như 1 web em F12 ra có nhiều mục có cookie thì làm sao để add hết đống cookie cảu tất cả các mục đó vào vậy a ?
Anh ơi cho em hỏi khi nào ra video tiếp theo ạ