• Vui lòng đọc nội qui diễn đàn để tránh bị xóa bài viết
  • Tìm kiếm trước khi đặt câu hỏi

[C#] Lấy source trang web

Các thủ thuật liên quan đến xử lý chuỗi và thời gian

Moderators: tungcan5diop, QUANITGROBEST

User avatar
NoBi
Quản trị
Quản trị
Posts: 959
Joined: Tue 18/03/2008 1:22 pm
Location: Sài Gòn
Has thanked: 53 times
Been thanked: 66 times
Contact:

[C#] Lấy source trang web

Postby NoBi » Fri 28/03/2008 2:55 pm

Thủ thuật: Lấy source trang web
Tác giả: Sưu tầm
Mô tả: Return HTML Page Source From Web URL
---------------------------------------------------
Return HTML Page Source From Web URL in C#

Code: Select all

  1. using System.Net;
  2. using System.Xml;
  3. using System.IO;

Code: Select all

  1.             string url = "http://caulacbovb.com";
  2.  
  3.             HttpWebRequest myWebRequest = (HttpWebRequest)HttpWebRequest.Create(url);
  4.             myWebRequest.Method = "GET";
  5.             // make request for web page
  6.             HttpWebResponse myWebResponse = (HttpWebResponse)myWebRequest.GetResponse();
  7.             StreamReader myWebSource = new StreamReader(myWebResponse.GetResponseStream());
  8.             string myPageSource = myWebSource.ReadToEnd();
  9.             myWebResponse.Close();
  10.             // Thêm textboxt vào, gở comment để test
  11.             //this.textBox1.Text = myPageSource;


Hoặc:

Code: Select all

  1.  
  2.         private string ReadHTMLCode(string URL)
  3.         {
  4.             try
  5.             {
  6.                 WebClient webClient = new WebClient();
  7.                 byte[] reqHTML;
  8.                 reqHTML = webClient.DownloadData(URL);
  9.                 UTF8Encoding objUTF8 = new UTF8Encoding();
  10.                 return objUTF8.GetString(reqHTML);
  11.             }
  12.             catch (Exception Ex)
  13.             {
  14.                 MessageBox.Show(Ex.Message,"Unable to open file from URL");
  15.             }
  16.             return "error";
  17.         }
  18.  


Gọi hàm :

Code: Select all

  1. this.textBox1.Text = ReadHTMLCode("http://caulacbovb.com");


:>

lilik48
Posts: 3
Joined: Fri 11/04/2008 2:55 pm

Re: [C#] Lấy source trang web

Postby lilik48 » Tue 29/04/2008 3:41 pm

Bạn NoBi cho mình hỏi với, máy mình nối thẳng đường dây ra ngoài Internet thì source trên chạy bình thường, nhưng khi mang nó đến công ty máy mình phải đi qua một con máy chủ thì source lại không chạy được nữa và có thông báo:
The remote server returned an error: (407) Proxy Authentication Required.
Bạn chỉ rõ cho mình với, cảm ơn

User avatar
anhtuyenbk
Guru
Guru
Posts: 1311
Joined: Thu 22/09/2005 4:12 pm
Location: Một nơi chừa từng biết, chưa từng nghe, chưa từng thấy
Been thanked: 38 times

Re: [C#] Lấy source trang web

Postby anhtuyenbk » Tue 29/04/2008 3:59 pm

Quá rõ ràng rồi còn gì "Proxy Authentication Required. " bạn phải có quyền đăng nhập mới lấy được.
Kiếm cơm cho qua ngày tháng
https://www.facebook.com/pinduphongpisenchinhhang

lilik48
Posts: 3
Joined: Fri 11/04/2008 2:55 pm

Re: [C#] Lấy source trang web

Postby lilik48 » Tue 29/04/2008 4:07 pm

Bây giờ mình có account rồi thì làm như nào hả bạn

User avatar
clarkkent
Mạnh Thường Quân
Mạnh Thường Quân
Posts: 1641
Joined: Wed 16/04/2008 11:25 am
Location: Chợ Lách - Bến Tre
Been thanked: 31 times
Contact:

Re: [C#] Lấy source trang web

Postby clarkkent » Thu 08/05/2008 3:27 pm

Vậy trong VB.NET thì vấn đề lấy source làm như thế nào vậy các bác... :D
Mình đang cần lắm... :((
• Hôm bây: www.tinsoftware.com ^ ^
Cố gắng lên...

User avatar
anhtuyenbk
Guru
Guru
Posts: 1311
Joined: Thu 22/09/2005 4:12 pm
Location: Một nơi chừa từng biết, chưa từng nghe, chưa từng thấy
Been thanked: 38 times

Re: [C#] Lấy source trang web

Postby anhtuyenbk » Thu 08/05/2008 3:33 pm

Xài cách này có điểm dở là khi chạy thì Form sẽ bị đơ, nhìn mất cảm tình.
Kiếm cơm cho qua ngày tháng
https://www.facebook.com/pinduphongpisenchinhhang

violetlotous
Thành viên tích cực
Thành viên tích cực
Posts: 101
Joined: Wed 23/04/2008 9:58 am
Has thanked: 8 times
Been thanked: 1 time

Re: [C#] Lấy source trang web

Postby violetlotous » Thu 02/08/2012 11:49 am

anhtuyenbk ơi, vậy có cách nào để lúc nó đang chạy, Form ko bị đơ không

User avatar
NoBi
Quản trị
Quản trị
Posts: 959
Joined: Tue 18/03/2008 1:22 pm
Location: Sài Gòn
Has thanked: 53 times
Been thanked: 66 times
Contact:

Re: [C#] Lấy source trang web

Postby NoBi » Fri 03/08/2012 11:31 am

Bạn dùng thêm Thread:
  1.         private string loadData()
  2.         {
  3.             using (WebClient client = new WebClient())
  4.             {
  5.                 //client.DownloadFile("http://caulacbovb.com", @"C:\localfile.html");
  6.                 string htmlCode = client.DownloadString("http://caulacbovb.com");
  7.                 return htmlCode;
  8.             }
  9.         }
  10.  
  11.         private void button1_Click(object sender, EventArgs e)
  12.         {
  13.             textBox1.Text = "loading..............";
  14.             Thread t = new Thread(() =>
  15.             {
  16.                 string data = loadData();
  17.                 this.Invoke((MethodInvoker)delegate {
  18.                     textBox1.Text = data;
  19.                 });
  20.             });
  21.             t.Start();
  22.         }
:>

violetlotous
Thành viên tích cực
Thành viên tích cực
Posts: 101
Joined: Wed 23/04/2008 9:58 am
Has thanked: 8 times
Been thanked: 1 time

Re: [C#] Lấy source trang web

Postby violetlotous » Wed 08/08/2012 3:33 pm

Thanks bạn, nếu sử dụng như bạn thì form không bị đơ, nhưng có vấn đề phát sinh là mình sẽ lấy dữ liệu download đó xử lý. nên mình thêm t.Join() thì form vẫn sẽ bị đơ

User avatar
NoBi
Quản trị
Quản trị
Posts: 959
Joined: Tue 18/03/2008 1:22 pm
Location: Sài Gòn
Has thanked: 53 times
Been thanked: 66 times
Contact:

Re: [C#] Lấy source trang web

Postby NoBi » Thu 09/08/2012 11:30 am

Cái ví dụ đó mình làm mẫu thôi. Còn muốn sử dụng với mục đích gì thì bạn phải tự tính toán xử lý tiếp (dùng thread tương tự hoặc cách nào đó cho nó đừng đơ). t.Join() là chờ cho thread chạy xong mới chạy tiếp thì bảo sao kg đơ?! nó bằng với việc kg chạy thread.
Nếu có thắc mắc về việc dùng thread thì tạo chủ đề khác nhé. Chủ đề này không bàn tới thread nữa.
:>


Return to “[.NET] Chuỗi và Thời gian”

Who is online

Users browsing this forum: No registered users and 0 guests