首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >HttpWebRequest。远程服务器返回错误:(500)内部服务器错误

HttpWebRequest。远程服务器返回错误:(500)内部服务器错误
EN

Stack Overflow用户
提问于 2013-11-19 06:24:47
回答 3查看 76.7K关注 0票数 7

我需要在C#中使用HttpWebRequest的帮助。以下代码行在本地IIS上运行良好,但是当我上传到远程服务器时,它开始给我"The remote server returned an error:(500) Internal server Error.“。我已经尝试了GET和POST方法的许多变体,但无法弄清楚问题所在。请看一下下面的代码,让我知道这是什么问题。

代码语言:javascript
运行
复制
try
{
    string postData = "applicaitonid=abc&deviceid=xyz";
    string uri = System.Configuration.ConfigurationManager.AppSettings.Get("baseUrl") + System.Configuration.ConfigurationManager.AppSettings.Get("ABApiPath") + "ConfirmAppBinding/?" + postData;

    System.Net.HttpWebRequest request = (System.Net.HttpWebRequest)WebRequest.Create(uri);
    request.Method = "POST"; // Set type Post
    //request.Method = "GET";
    request.UserAgent = Request.UserAgent.ToString();
    request.ContentType = @"application/json";
    request.MediaType = "application/json";
    request.Accept = "application/json";
    request.KeepAlive = false;
    request.ProtocolVersion = HttpVersion.Version11;
    //byte[] buffer = Encoding.GetEncoding("UTF-8").GetBytes(postData);
    request.Timeout = 500000;             //Increase timeout for testing

    Stream reqstr = request.GetRequestStream();
    //reqstr.Write(buffer, 0, buffer.Length);
    reqstr.Close();

    // Read Response
    var httpResponse = request.GetResponse();
    using (var streamReader = new StreamReader(httpResponse.GetResponseStream()))
    {
        JavaScriptSerializer jsSerializer = new JavaScriptSerializer();
        JsonMessage.message = streamReader.ReadToEnd();
        streamReader.Close();
    }
}
catch (WebException e)
{
    JsonMessage.message = e.Message;
    return Json(JsonMessage, JsonRequestBehavior.AllowGet);
}

正如我告诉你的,我使用了默认的GET方法,但它没有解决问题。

EN

回答 3

Stack Overflow用户

发布于 2014-12-10 16:53:43

使用此代码来捕获

代码语言:javascript
运行
复制
catch (WebException e)
{
   string pageContent = new StreamReader(wex.Response.GetResponseStream()).ReadToEnd().ToString();
   return pageContent;
}

它将显示您所面临的确切错误。

票数 16
EN

Stack Overflow用户

发布于 2019-08-30 18:36:03

您可以使用try和catch块来查找根本原因。

代码语言:javascript
运行
复制
catch (WebException ex)
{
    string message = new StreamReader(ex.Response.GetResponseStream()).ReadToEnd();
}
票数 3
EN

Stack Overflow用户

发布于 2013-11-19 06:40:17

我要在黑暗中试一试

会不会是你的查询字符串中有一个拼写错误,当在代码中引用键时,它返回一个空值异常?

代码语言:javascript
运行
复制
{ String postData = "applicaitonid=abc&deviceid=xyz"; 
}

应该是

代码语言:javascript
运行
复制
{ String postData = "applicationid=abc&deviceid=xyz";  }
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20059237

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档