POST请求(VBA)中的JSON响应无效

POST请求(VBA)中的JSON响应无效,json,vba,web-scraping,Json,Vba,Web Scraping,我一直从代码中获取无效的JSON 代码如下所示。我不知道问题在哪里 Sub Getcustoms2() Dim JSON As Object Dim ws As Worksheet, results(), i As Long, s As String returnshipvalue = "20L10KX154i0001" MyURL = "firstIndex=0&recordCountPerPage=10&page=

我一直从代码中获取无效的JSON

代码如下所示。我不知道问题在哪里

Sub Getcustoms2()
    Dim JSON As Object
    Dim ws As Worksheet, results(), i As Long, s As String
    returnshipvalue = "20L10KX154i0001"
    MyURL = "firstIndex=0&recordCountPerPage=10&page=1&pageIndex=1&pageSize=10&pageUnit=10&cargMtNo=" & returnshipvalue
         With CreateObject("MSXML2.XMLHTTP")
             .Open "POST", "https://unipass.customs.go.kr/csp/myc/bsopspptinfo/cscllgstinfo/ImpCargPrgsInfoMtCtr/retrieveImpCargPrgsInfoDtl.do", False
             .setRequestHeader "Accept", "application/json, text/javascript, */*; q=0.01"
             .setRequestHeader "User-Agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.66 Safari/537.36"
             .setRequestHeader "Content-Type", "application/x-www-form-urlencoded; charset=UTF-8"
             .setRequestHeader "Accept-Encoding", "gzip, deflate, br"
             .send MyURL
             Debug.Print .responseText                                     
         End With
    End Sub
.responseText只给了我一个无效的JSON

作为参考,原始网站URL为 我正试图搜集一个特定的BL号码的细节。总代码如下所示。(顶部指主BL编号NFPWP023)

事先非常感谢。
我尝试了所有不同类型的请求头,但都不起作用。

代码的第一部分生成json响应,其中包含
resultListL
,因此我看不出问题实际在哪里。问题在第二部分。它不生成json响应代码的第一部分生成json响应,其中包含
resultlist
,因此我看不出问题实际在哪里。问题在第二部分。它不会产生json响应
Sub Getcustoms2()
Dim JSON As Object
Dim ws As Worksheet, results(), i As Long, s As String
Dim shipvalue As String, custom As String, MyURL As String
Dim BL As String, returnshipvalue As String


Dim LastRow As Long

Dim testarray()


LastRow = Worksheets("Master_BL").Cells(rows.Count, "A").End(xlUp).Row
i = 4

For i = 4 To 4

    BL = Cells(i, 1).Value
    ' Debug.Print BL
   
        
    With CreateObject("MSXML2.XMLHTTP")
        .Open "POST", "https://unipass.customs.go.kr/csp/myc/bsopspptinfo/cscllgstinfo/ImpCargPrgsInfoMtCtr/retrieveImpCargPrgsInfoLst.do", False
        .setRequestHeader "Accept", "application/json, text/javascript, */*; q=0.01"
        .setRequestHeader "User-Agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.66 Safari/537.36"
        .setRequestHeader "Content-Type", "application/x-www-form-urlencoded; charset=UTF-8"
        .setRequestHeader "Accept-Encoding", "gzip, deflate, br"
        .setRequestHeader "Accept-Language", "ko-KR,ko;q=0.9,en-US;q=0.8,en;q=0.7"
        
        .send "firstIndex=0&page=1&pageIndex=1&pageSize=10&pageUnit=10&recordCountPerPage=10&qryTp=2&cargMtNo=&mblNo=" & BL & "&hblNo=&blYy=2020"

        
        'Debug.Print .responseText
        Set JSON = JsonConverter.ParseJson(.responseText)
        
    End With
 
 
    If JSON("count") = "0" Then
        returnshipvalue = "empty"
    
    Else
        returnshipvalue = JSON("resultList")(1)("cargMtNo")
        'Debug.Print returnshipvalue
    
        MyURL = "firstIndex=0&recordCountPerPage=10&page=1&pageIndex=1&pageSize=10&pageUnit=10&cargMtNo=" & returnshipvalue
          'Debug.Print MyURL
        With CreateObject("MSXML2.XMLHTTP")
             .Open "POST", "https://unipass.customs.go.kr/csp/myc/bsopspptinfo/cscllgstinfo/ImpCargPrgsInfoMtCtr/retrieveImpCargPrgsInfoDtl.do", False
             .setRequestHeader "Accept", "application/json, text/javascript, */*; q=0.01"
             .setRequestHeader "User-Agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.66 Safari/537.36"
             .setRequestHeader "Content-Type", "application/x-www-form-urlencoded; charset=UTF-8"
             .setRequestHeader "Accept-Encoding", "gzip, deflate, br"
            ' .setRequestHeader "Cookie", "MYC_RCNT_MENU=%3Cli%3E%3Ca%20href%3D%22javascript%3Amyc_f_goRecentMenu('MYC_MNU_00000450')%3B%22%3E%EC%88%98%EC%9E%85%ED%99%94%EB%AC%BC%20%EC%A7%84%ED%96%89%EC%A0%95%EB%B3%B4%3C%2Fa%3E%3C%2Fli%3E; WMONID=DMzwDfgcRNX; MagicLineSession=PhY21XbKet7wH3C0oRfw; JSESSIONID=0069nXlwjdxrmEna0gft9oKhXcSd3_nxlpAQb-Bq7M7s9HGGOIMrE9PNE6B-vT5pv7PfKf7wKR3NhO4rcFzR_EtJG4dYsYiEuStnmqX5ZvBi1HUkhDrR6noY4ki76jba6Vh-:csp31"
             

            ' .setRequestHeader "Referer", "https://unipass.customs.go.kr/csp/index.do"
            ' .setRequestHeader "Accept-Language", "ko-KR,ko;q=0.9,en-US;q=0.8,en;q=0.7"
             .send MyURL
             Debug.Print .responseText
             
             Set JSON = JsonConverter.ParseJson(.responseText)
        End With
        
        Debug.Print JSON("impStateRsltVo")("prgsStts")
        
        Cells(i, 2).Value = JSON("impStateRsltVo")("prgsStts")
        Cells(i, 3).Value = JSON("resultListL")(1)("cargTrcnRelaBsopTpcd")
        Cells(i, 4).Value = JSON("resultListL")(1)("prcsDttm")
        Cells(i, 5).Value = JSON("resultListL")(2)("cargTrcnRelaBsopTpcd")
        Cells(i, 6).Value = JSON("resultListL")(2)("prcsDttm")
        Set JSON = Nothing
    End If

Next i

End Sub