C# 如何在xamarin.android中发送PUT请求?
我正试图发送一个PUT请求,当我在xamarin.android应用程序中单击一个按钮以使用以下代码更新数据库中的记录时: 我尝试使用postman发送此json数据,结果成功:C# 如何在xamarin.android中发送PUT请求?,c#,laravel,api,xamarin.android,C#,Laravel,Api,Xamarin.android,我正试图发送一个PUT请求,当我在xamarin.android应用程序中单击一个按钮以使用以下代码更新数据库中的记录时: 我尝试使用postman发送此json数据,结果成功: {'status': 'On'} 但是当我尝试在我的xamarin.android应用程序中发送这个时,它不起作用 错误:远程服务器返回错误(500)内部服务器错误 功能: private async void SendAPIRequest(string method, string jsonrequ
{'status': 'On'}
但是当我尝试在我的xamarin.android应用程序中发送这个时,它不起作用
错误:远程服务器返回错误(500)内部服务器错误
功能:
private async void SendAPIRequest(string method, string jsonrequest)
{
HttpWebRequest request = new HttpWebRequest(new Uri(String.Format("http://192.168.0.179:8080/api/devices/update/1")));//address of request
request.Method = "PUT";
request.ContentType = "application/json; charset=utf-8";
using (var streamWriter = new StreamWriter(request.GetRequestStream()))
{
streamWriter.Write(jsonrequest);
streamWriter.Flush();
}
HttpWebResponse httpResponse = (HttpWebResponse)(await request.GetResponseAsync());
string json;
using (Stream responseStream = httpResponse.GetResponseStream())
{
json = new StreamReader(responseStream).ReadToEnd();//read the Json and assign it to a variable
}
}
按钮点击
private void BtnRequest_Click(object sender, EventArgs e)
{
string request = @"{'status': 'On'}";
SendAPIRequest("PUT", request);
}
PS:这只是一个测试API,所以不需要身份验证 尝试使用Try-catch扭曲代码
try
{
HttpWebRequest req = WebRequest.Create(url) as HttpWebRequest;
WebResponse wr = req.GetResponse();
}
catch (WebException wex)
{
var pageContent = new StreamReader(wex.Response.GetResponseStream())
.ReadToEnd();
}
请参阅smiliar案例:。“它不工作”不是一个充分的错误描述。你看到发生了什么?你有错误吗?服务器有任何响应吗?是否在清单中启用internet权限?您是否使用了
Try catch
查看发生了什么?请阅读编辑后的问题。