Search code examples
c#http-post

Empty respond when Post data in C#


when I post username and password and IP address I got only an empty response. my C# code is:

public async void APILogin(string user, string pass, string ip)
{
    var person = new Userinfo { username = user, password = pass, ip = ip };
    var json = JsonConvert.SerializeObject(person);
    var data = new StringContent(json, Encoding.UTF8, "application/x-www-form-urlencoded");
    var url = new Uri("http://localhost/login/dblogin.php") ;

    HttpClient client = new HttpClient();

    HttpResponseMessage response = await client.PostAsync(url,content:data);
    HttpContent content = response.Content;
    string myContent = await content.ReadAsStringAsync();
    MessageBox.Show(myContent, "Info");
}
public class Userinfo 
{
    public String username { get; set; }
    public String password { get; set; }
    public String ip { get; set; }
}

Solution

  • I used this and it is worked.

    var url = "http://localhost/login/dblogin.php";
                HttpClient client = new HttpClient();
                StringContent data = new StringContent("username="+user+"&password="+pass+"&ip="+ip);
                data.Headers.ContentType = new System.Net.Http.Headers.MediaTypeHeaderValue("application/x-www-form-urlencoded");
                HttpResponseMessage response = await client.PostAsync(url, data);
                response.EnsureSuccessStatusCode();
                HttpContent content = response.Content;
                string myContent = await content.ReadAsStringAsync();
                loginResp apiResponse = JsonConvert.DeserializeObject<loginResp>(myContent);