我目前正在使用python请求来使用我的MVC应用程序中用c#编写的web api。这是我得到的错误
<body>
<div id="header"><h1>Server Error</h1></div>
<div id="content">
<div class="content-container"><fieldset>
<h2>405 - HTTP verb used to access this page is not allowed.</h2>
<h3>The page you are looking for cannot be displayed because an invalid method (HTTP verb) was used to attempt access.</h3>
</fieldset></div>
</div>
</body>
这是我正在使用的python代码
constURLString = "http://10.1.30.15/test/api/DevicesAPI"
send = requests.put(constURLString + "/" + str(deviceID), data = urlParam)
urlParam是我传回webapi的模型,用于编辑该特定条目。我尝试在我的浏览器中输入实际的网址,尝试输入http://10.1.30.15/test/api/DevicesAPI/16并获得
来获取该单个条目<Error><Message>An error has occurred.</Message></Error>
哪个不是很有帮助。当我在本地运行时,这似乎工作得很好但是当我将它发布到服务器时似乎不喜欢它。我的web api中的put方法按原样执行:
// PUT: api/DevicesAPI/5
[ResponseType(typeof(void))]
public IHttpActionResult PutDevices(long id, Devices devices)
{
if (!ModelState.IsValid)
{
return BadRequest(ModelState);
}
if (id != devices.deviceID)
{
return BadRequest();
}
db.Entry(devices).State = EntityState.Modified;
try
{
db.SaveChanges();
}
catch (DbUpdateConcurrencyException)
{
if (!DevicesExists(id))
{
return NotFound();
}
else
{
throw;
}
}
return StatusCode(HttpStatusCode.NoContent);
}