Tra cứu : MST , CCCD (CMND), Tên DN theo danh sách MST

Chia sẻ bởi:hands
★★★★★
Quảng cáo

Mình mới kiểm tra lại File lấy thông tin chỗ a Tuân ở máy nơi khác (khác IP máy mình) thì chạy bình thường. Tuy nhiên cái mình đang làm là tra cứu mã số thuế TNCN từ số CMND(hoặc căn cước)
Code mình như sau (hôm qua chạy ngon lành, sáng nay thì lỗi, không chạy được nữa )
Mình qua 2 lần Post và Get, nếu 1 lần Post và 1 lần Get thì nếu số CMND đó mình mới tra cứu thì nó ra kết quả còn nếu số CMND đó chưa tra cứu thì nó không ra kết quả, chả biết nguyên nhân tại sao !

Function LayTTMSTNCN(ByVal SoCMND As String)
Dim Msg As String, Url As String
Dim hreq As Object, html As Object, js As Object

Set hreq = CreateObject("WinHttp.WinHttpRequest.5.1")
    Set html = CreateObject("htmlfile")
    Set js = CreateObject("Scripting.Dictionary")

With hreq
        .Open "POST", "masothue.com/Ajax/Token", False
        .setRequestHeader "User-Agent", "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.93 Safari/537.36"
        .setRequestHeader "Content-type", "application/x-www-form-urlencoded; charset=UTF-8"
        .send (Msg)
        Set js = JsonConverter.ParseJSON(.responseText)

Msg = "q=" & SoCMND & "&type=personalTax&token=" & js("token") & "&force-search=1"
        .Open "POST", "masothue.com/Ajax/Search", False
        .setRequestHeader "User-Agent", "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.93 Safari/537.36"
        .setRequestHeader "Content-type", "application/x-www-form-urlencoded; charset=UTF-8"
        .send (Msg)
        .WaitForResponse

Url = GetUrl(.responseText)
        If InStr(1, Url, "chu01b0a cu00f3") > 0 Or Len(Url) = 0 Then
            LayTTMSTNCN = "Chua cap MST"
            Exit Function
        Else
            .Open "GET", "masothue.com" & Url, False
            .send
            html.body.innerHTML = .responseText

If Err.Number Then
                Err.Clear
            Else
                LayTTMSTNCN = html.getElementsByClassName("table-taxinfo")(0).innerText
            End If
            html.Close
        End If
    End With

Set hreq = Nothing
    Set html = Nothing
    Set js = Nothing

End Function

Function GetUrl(ByVal str As String)
    Dim h As Long, i As Long, s As String
    h = InStr(1, str, "/")
    If h > 0 Then
        For i = h + 2 To Len(str)
            If Mid(str, i, 1) = Chr(34) Then
                s = Mid(str, h + 1, i - h - 1)
                Exit For
            End If
        Next i
        GetUrl = s
    End If
End Function

Tắt modem router, khởi động lại là được.

Mới sửa lại cái file tra cứu theo các kiểu: MST , CCCD (CMND), Tên DN và thêm cái tìm theo danh sách MST vì lúc trước có bạn hỏi.

2309

Thiết kế Tổng đãi ngộ (Total Rewards) theo khung SHRM
Khóa học SprinGO phù hợp

Thiết kế Tổng đãi ngộ (Total Rewards) theo khung SHRM

Khóa học “Thiết kế Tổng phần thưởng (Total Reward) chuẩn khung SHRM” giúp bạn nắm vững toàn bộ hệ thống đãi ngộ theo chuẩn...

Xem khóa học
★★★★★ 5 ★ 1 👤 1 ▥ 0
Quảng cáo

Bạn nên đọc

One Response

  1. hands says:

    2310

    Làm như nào bây giờ để nó có thể chạy mượt mà được bây giờ?

    sáng còn Fake IP được, chiều nó khóa luôn rồi !

    Họ dùng công nghệ gì không biết mà có thể khóa được nhỉ?

    Một cách sửa lỗi trên là không dùng WinHTTP mà đổi sang MSXML2. Trong code tôi có viết sẳn rồi.

    2313

    Nếu dùng WinHTTP thì bạn chạy file đính kèm xem sửa lỗi TLS của Windows xem còn lỗi không. Do máy tôi cài rồi nên chạy không lỗi.
    Theo tôi biết thì nguyên nhân nó tương tự như nội dung bên dưới:

    2312

    Và link down ở đây: docs.microsoft.com/en-us/answers/questions/247500/tls-11-and-tls-12-easy-fix-download-missing.html

    Còn về vụ khoá IP thì tôi không rành web nên nghĩ chắc họ dùng các tool để chống DDOS hoặc kỹ thuậnt anti-scraping gì đó.

    Tôi nghĩ bạn viết đoạn code fake cái proxy của nó để hoàn chỉnh, proxy thì lấy mấy cái proxy free ở web nó làm mới thường xuyên nên có chết hay bị chặn cũng chẳng sao, lấy trong web này http://www.sslproxies.org/ lấy mấy thằng port 8080 thôi để hạn chế mấy cái proxy không hoạt động
    2314

    đã thành công, tuy nhiên tốc độ request khá chậm, Mình có thể dùng IP gì hoặc ở nước nào cho tốc độ nhanh hơn được không bạn ?

    Bạn bỏ cái header này đi xem còn chạy được không?

    2315

    mình bỏ đoạn này vẫn không chạy được bạn !
    Cảm ơn bạn !

Leave a Reply

Your email address will not be published. Required fields are marked *

Quảng cáo

Cũ vẫn chất

Xem thêm