Tra cứu : MST , CCCD (CMND), Tên DN theo danh sách MST
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 “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
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ì đó.