Below code fails with the generic error from the title on line where creates the response Dim httpResponse As HttpWebResponse = CType(httpWebRequest.GetResponse(), HttpWebResponse)
Code below:
Dim URL As String = "https://www150.statcan.gc.ca/t1/wds/rest/getSeriesInfoFromVector" Dim JsonData As String = "[{""vectorId"":""1038036698""}]" Dim OutputFile As String = "C:\Temp\1038036698.json" Public Sub Main() Dim myRequest As HttpWebRequest = PostJSON(JsonData) Dim Response As String = GetResponse(myRequest) System.IO.File.WriteAllText(OutputFile, Response) End Sub Private Function PostJSON(ByVal JsonData As String) As HttpWebRequest Dim objhttpWebRequest As HttpWebRequest Try Dim httpWebRequest As HttpWebRequest = CType(WebRequest.Create(URL), HttpWebRequest) httpWebRequest.Method = "POST" httpWebRequest.ContentType = "application/json" httpWebRequest.MediaType = "application/json" httpWebRequest.Accept = "application/json" Using streamWriter As StreamWriter = New StreamWriter(httpWebRequest.GetRequestStream(), Encoding.UTF8) streamWriter.Write(JsonData) streamWriter.Flush() streamWriter.Close() End Using objhttpWebRequest = httpWebRequest Catch ex As Exception ' Console.WriteLine("Send Request Error[{0}]", ex.Message) Return Nothing End Try Return objhttpWebRequest End Function Private Function GetResponse(ByVal httpWebRequest As HttpWebRequest) As String Dim strResponse As String = "Bad Request:400" Try ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12 'next line is where it errors out Dim httpResponse As HttpWebResponse = CType(httpWebRequest.GetResponse(), HttpWebResponse) Dim StreamReader As StreamReader = New StreamReader(httpResponse.GetResponseStream(), True) 'Dim StreamReader As StreamReader = New StreamReader(DirectCast(httpResponse.GetResponseStream(), String), True) Dim result As String = StreamReader.ReadToEnd() strResponse = result.ToString() Catch ex As Exception Console.WriteLine("GetResponse Error[{0}]", ex.Message) Return ex.Message End Try Return strResponse End Function