skip to Main Content

My method to get tokenKey is :

        HttpWebRequest httpRequest = (HttpWebRequest)WebRequest.Create(url);
        httpRequest.Method = "POST";
        httpRequest.UserAgent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.181 Safari/537.36 OPR/52.0.2871.99";

        string tokenResponse = null;

        HttpClient client = new HttpClient();

        HttpResponseMessage response = null;
        try
        {
            client.DefaultRequestHeaders.Add("x-api-key", "key");
            if (method.Equals("POST"))
            {

                httpRequest.Accept = "application/json";
                httpRequest.ContentType = "application/json";

                var data = @"{""username"":@"""+ login + @""",""password"" :@"""+ password + @"""}";

                using (var streamWriter = new StreamWriter(httpRequest.GetRequestStream()))
                {
                    streamWriter.Write(data);
                }

                var httpResponse = (HttpWebResponse)httpRequest.GetResponse();
                using (var streamReader = new StreamReader(httpResponse.GetResponseStream()))
                {
                  tokenResponse = streamReader.ReadToEnd();
                }
            }
       }
catch (Exception ex)
        {
            throw new Exception(ex.Message);
        }

        return tokenResponse;

after var httpResponse = (HttpWebResponse)httpRequest.GetResponse();
this error msg: The underlying connection was closed: Unexpected error on a send.

x-api-key is okay but i don’t put the original as the username and password
i do it easy with postman
postman request done

Can anyone help me understand where I’m going wrong?

2

Answers


  1. Could this be a case of mismatch TLS versions? See this answer here:
    C# HttpWebRequest The underlying connection was closed: An unexpected error occurred on a send

    Also it looks like your HttpWebRequest won’t have the correct headers, because you are setting them on the HttpClient object instead. The HttpClient also doesn’t seem to be being used for this call.

    Login or Signup to reply.
  2. See documentation, how to use HttpWebRequest and how to write body properly to request. I think the problem is with a request stream.

    Login or Signup to reply.
Please signup or login to give your own answer.
Back To Top
Search