Unable to Get Session Key Using VB.NET

Just getting started and am trying to test getting the Session Key using VB.NET. However, I cannot get it to work and am getting the error "(400) Bad Request". I was able to get this to work in Excel VBA, so I know the URL, user name , and password are correct and that I have the concept down. I just can't get it to work in VB.NET.

My code is below. I noted which line throws the error.

Sub Metabase_GetSessionToken()
    Dim vURI As String, vPOSTBODY As String
    vURI = "https://mycompanymetbaseurl.com/api/session"
    vPOSTBODY = "{""username"": ""mymetabaseusername"", ""password"": ""mymetabasepassword""}"

    Dim vBYTESDATA As Byte() = Text.Encoding.UTF8.GetBytes(vPOSTBODY)

    Dim vHTTPREQUEST As HttpWebRequest = CType(WebRequest.Create(vURI), HttpWebRequest)
    vHTTPREQUEST.Method = "POST"
    vHTTPREQUEST.ContentType = "application/x-www-form-urlencoded"
    vHTTPREQUEST.Accept = "application/json"
    vHTTPREQUEST.ContentLength = vBYTESDATA.Length

    Dim vSTREAMOBJECT As Stream = vHTTPREQUEST.GetRequestStream()

    Dim vHTTPRESPONSE As HttpWebResponse

    'The error occurs at the following line
    vHTTPRESPONSE = CType(vHTTPREQUEST.GetResponse(), HttpWebResponse)

    Dim vSTREAMREADER As New StreamReader(vHTTPRESPONSE.GetResponseStream())

End Sub

Hi @awconsultingservices
The API content type is application/json most places.
Use your browser developer Network-tab to view requests to see what is being sent/received.
Use more simple tools like cURL to validate where the problem is in your API code.

Geesh. I looked at the developer network tab as you suggested in another post and saw that content type difference but didn't it would cause an issue. I'll be more critical of my code next time. Anyway... That did it! It's working now. Thanks!