Truy cập nội dung một Website để lấy nội dung Online
Public Function ReadHtmlFromUrl(ByVal Url As String, Optional ByVal charset As String = "utf-8") As String
'create a new WebClient object
Dim client As New WebClient()
'create a byte array for holding the returned data
Dim html As Byte() = client.DownloadData(Url)
'Return Encoding.UTF8.GetString(Encoding.Convert(Encoding.GetEncoding(charset), Encoding.UTF8, html))
' neu la trang UTF-8 thi ko can chuyen doi
If charset.ToLower = "utf-8" Then
Return Encoding.UTF8.GetString(html)
Else
Return Encoding.UTF8.GetString(Encoding.Convert(Encoding.GetEncoding(charset), Encoding.UTF8, html))
End If
End Function
Sử dụng SearchEngine của Google
Google là bộ máy tìm kiếm (Search Engine) với trên 4,2 tỷ trang Web đã được lập chỉ mục và có tốc độ tìm kiếm nhanh. Google không chỉ là công cụ tìm kiếm được hầu hết những người lướt Web sử dụng mà còn là tiện ích tìm kiếm được nhúng vào rất nhiều Website (một dịch vụ được Google cung cấp dưới nhiều hình thức và cho những đối tượng khác nhau). Do vậy việc sử dụng và kế thừa bộ máy tìm kiếm này ngoài tiện ích nhanh, chính xác còn góp phần nâng cao thứ hạng của Cổng thông tin Đào tạo.
Các bước đề tài sử dụng để nhúng SearchEngine Google vào Hệ thống trả lời tự động:
Bước 1: Nhúng API do Google cung cấp vào trang web
google.load("search", "1");
var searcher;
function Initialise() {
searcher = new google.search.WebSearch();
//delete.all searcher.setSiteRestriction("http://daotao.hanu.vn:8080");
searcher.setResultSetSize(GSearch.LARGE_RESULTSET); searcher.setSearchCompleteCallback(this,display,[searcher]);
}
function display(results) {
$('#SearchResults').show();
$('#ContentMainDiv').hide();
$('#SearchResults').fillTemplate(results);
}
function Search(query) {
searcher.execute(query);
window.location.hash = '#searchMarkBook';
}
function gotoPage(page) {
searcher.gotoPage(parseInt(page));
}
Bước 2: Thiết kế giao diện hiển thị kết quả
${titleNoFormatting}
${content}
Tìm thấy ${estimatedResultCount} kết quả. Xem tiếp trang
${label} %{-|-|}
Kết quả tìm kiếm với từ khóa “đăng ký môn tin học cơ sở”
Hình 5. Kết quả tìm kiếm sử dụng nhúng SearchEngine Google vào Hệ thống
10.Mô hình hệ thống triển khai -
Thành phần lớp dữ liệu
Do yêu cầu bài toán được đặt ra từ đầu là việc xây dựng hệ thống không phụ thuộc vào CSDL. Do đó công nghệ lập trình theo lớp được nghiên cứu và đề ra. Mọi thao tác liên quan đến việc thay đổi CSDL, nâng cấp đều được chỉnh sửa từ lớp này (không phải thay đổi code chương trình).
Dưới đây là một vài hàm tiêu biểu:
Protected Function GetCachedDatabase() As Database
If (Me._db Is Nothing) Then
Me._db = Me.GetDatabase
End If
Return Me._db
End Function
Protected Function GetConnection(ByVal Db As Database) As DbConnection
Dim Connection As DbConnection = Nothing
Try
Connection = Db.CreateConnection
Catch Ex As Exception
Throw
End Try
Return Connection
End Function
Protected Function GetDatabase() As Database
Return Me.GetDatabase(String.Empty)
End Function
Public Sub ExecuteNonQuery(ByVal DatabaseConfigKey As String, ByVal StoredProcedureName As String, ByVal ParamArray ParameterValues As Object())
Try
Me.GetDatabase(DatabaseConfigKey).ExecuteNonQuery(StoredProcedureName, ParameterValues)
Catch Ex As Exception
Throw
End Try
End Sub
Public Sub ExecuteNonQuery(ByVal DatabaseConfigKey As String, ByVal Trans As DbTransaction, ByVal StoredProcedureName As String, ByVal ParamArray ParameterValues As Object())
Try
Me.GetDatabase(DatabaseConfigKey).ExecuteNonQuery(Trans, StoredProcedureName, ParameterValues)
Catch Ex As Exception
Throw
End Try
End Sub
Protected Function DecryptDES(ByVal strText As String, ByVal sDecrKey As String) As String
Dim byKey() As Byte = {}
Dim IV() As Byte = {&H12, &H34, &H56, &H78, &H90, &HAB, &HCD, &HEF}
Dim inputByteArray(strText.Length) As Byte
Try
byKey = Encoding.UTF8.GetBytes(Left(sDecrKey, 8))
Dim des As New DESCryptoServiceProvider()
inputByteArray = Convert.FromBase64String(strText)
Dim ms As New MemoryStream()
Dim cs As New CryptoStream(ms, des.CreateDecryptor(byKey, IV), CryptoStreamMode.Write)
cs.Write(inputByteArray, 0, inputByteArray.Length)
Dim encoding As System.Text.Encoding=Encoding.UTF8
Return encoding.GetString(ms.ToArray())
Catch ex As Exception
Return ex.Message
End Try
End Function
Chia sẻ với bạn bè của bạn: |