【发布时间】:2015-05-15 10:23:58
【问题描述】:
我正在实施 REST 服务,但出现上述错误。我进行了很多搜索并使用了不同的方法来解决此错误,但没有运气。当我使用 Postman 或 fiddler 时,该服务运行良好。
这是我的代码:
try
{
string content = string.Empty;
var httpWebRequest = (HttpWebRequest)WebRequest.Create(new Uri("https://api.MYDOMAIN.com/servlet/Year"));
httpWebRequest.Method = "POST";
string parsedContent = "{\"securitykey\":\"KEY\"}";
var data = JObject.Parse(parsedContent);
Byte[] bytes = Encoding.UTF8.GetBytes(data.ToString());
httpWebRequest.ContentLength = bytes.Length;
httpWebRequest.ContentType = "application/json";
Stream newStream = httpWebRequest.GetRequestStream();
newStream.Write(bytes, 0, bytes.Length);
newStream.Close();
var response = (HttpWebResponse)httpWebRequest.GetResponse();
var stream = response.GetResponseStream();
if (stream != null)
{
var sr = new StreamReader(stream);
content = sr.ReadToEnd();
}
}
catch (WebException ex)
{
throw;
}
所以在上面的代码中我尝试了:
httpWebRequest.ContentType = "application/x-www-form-urlencoded";
HttpUtility.UrlEncode()
我也尝试了下面的代码,但它给了我同样的错误:
using (var client = new WebClient())
{
client.Headers[HttpRequestHeader.ContentType] = "application/json";
result = client.UploadString("https://api.MYDOMAIN.com/servlet/Year", "POST", "{\"securitykey\":\"MYKEY\"}");
}
我将原始标头中的安全密钥添加为httpWebRequest.Headers.Add("{\"securitykey\":\"MYKEY\"}"),但仍然没有运气。
如果我能得到一些帮助,我真的很感激。
【问题讨论】:
标签: c# post httpwebrequest webclient