im试图使用httpwebrequest类发布数据。我使用Post方法调用的功能应将我的数据添加到列表中,然后返回刚刚添加的数据。但是,我没有发布我要发送的数据,而是将所有数据都在列表中获取,这是等效的方法应该做的。这是代码:
public string AddList(string title)
{
// Connection to service
var uri = new Uri(url + "/method/");
var cache = new CredentialCache();
cache.Add(uri, "Basic", new NetworkCredential(username, password));
var httpWebRequest = (HttpWebRequest)WebRequest.Create(uri);
httpWebRequest.Credentials = cache;
httpWebRequest.ContentType = "application/json";
httpWebRequest.Method = "POST";
using (var streamWriter = new StreamWriter(httpWebRequest.GetRequestStream()))
{
string json = "{"title":"TestTitle"}";
streamWriter.Write(json);
streamWriter.Flush();
streamWriter.Close();
}
var httpResponse = (HttpWebResponse)httpWebRequest.GetResponse();
using (var streamReader = new StreamReader(httpResponse.GetResponseStream()))
{
var result = streamReader.ReadToEnd();
}
return result.toString();
}
所以我开始认为我所说的API认为我实际上要发布时会得到我得到的。任何帮助将不胜感激,谢谢。
编辑:对于记录,如果在最后尝试使用后斜线的URL,则不会更改任何内容。
您正在用POST
请求调用您的方法。您确定API方法是POST
方法吗?确保它是,在这种情况下,它应该在其上具有[System.Web.Http.HttpPost]
属性。
httpWebRequest.Method = "POST";