var url = ConfigurationManager.AppSettings["URL"] + "/Archivador/MoverEnvio";
HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url);
if (Certificado != null)
{
// Y añadirlo a la petición HTTP
req.ClientCertificates.Add(Certificado);
}
req.Method = "PUT";
req.ContentType = "application/json";
ArchivadorModelPut Mover = new ArchivadorModelPut()
{
ID_ARCHIVADOR = idArchivador,
ID_ENVIO = idEnvio
};
using (var streamWriter = new StreamWriter(req.GetRequestStream()))
{
string json = JsonConvert.SerializeObject(Mover);
streamWriter.Write(json);
streamWriter.Flush();
streamWriter.Close();
}
using (HttpWebResponse resp = (HttpWebResponse)req.GetResponse())
{
StreamReader reader = new StreamReader(resp.GetResponseStream());
var dato = reader.ReadToEnd();
string returnString = resp.StatusCode.ToString();
}
我得到了这个异常:
System.Net.WebException: 'Error on the remote server: (400) Bad Request.'
在线:
using (HttpWebResponse resp = (HttpWebResponse)req.GetResponse())
我不知道如何解决这个问题,有人可以帮助我吗? 如果您需要更多相关信息,请告诉我。
最佳答案
此异常意味着请求已成功完成,但是 400已返回 HTTP 响应。 400 HTTP 响应通常意味着您的客户端没有发送正确的数据,但这完全取决于目标服务器在什么情况下会返回 400 响应。
如果您捕捉到 WebException
,您可以使用 Response查看 HTTP 响应的属性 - 根据服务器的不同,它可能包含错误描述。
如果目标服务的正常做法是返回 400 响应,那么请查看 Why does HttpWebRequest throw an exception instead returning HttpStatusCode.NotFound?对于可用于获取响应而不管状态代码如何的扩展方法。或者,您可以使用不会抛出的替代类,例如HttpClient
.
关于时间:2019-01-08 标签:c#system.net.webexception : 'Error on the remote server: (400) Bad Request.' - HttpWebResponse,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43891051/