python PUT请求405错误未找到PUT的资源方法

python PUT请求405错误未找到PUT的资源方法,python,python-requests,put,http-status-code-405,Python,Python Requests,Put,Http Status Code 405,我首先搜索了所有类似的405个错误帖子,但没有找到一个答案 这里不同的是,PUT只会在Python请求中失败,所以我真的很困惑。也许有人知道会发生什么事 同样的调用,来自Python的POST工作。 将Python中的有效负载复制/粘贴到POSTMAN中也起作用。 从邮递员处复制/粘贴的有效负载与PUT或POST工作相同 我正在Win7上使用Python 2.7 请求的完整响应为: INFO:requests.packages.urllib3.connectionpool:Starting ne

我首先搜索了所有类似的405个错误帖子,但没有找到一个答案

这里不同的是,PUT只会在Python请求中失败,所以我真的很困惑。也许有人知道会发生什么事

同样的调用,来自Python的POST工作。 将Python中的有效负载复制/粘贴到POSTMAN中也起作用。 从邮递员处复制/粘贴的有效负载与PUT或POST工作相同

我正在Win7上使用Python 2.7

请求的完整响应为:

INFO:requests.packages.urllib3.connectionpool:Starting new HTTPS connection (1): {{fakeservername_replaced_for_stackoverflow_post}}
No resource method found for PUT, return 405 with Allow header
javax.ws.rs.NotAllowedException: No resource method found for PUT, return 405 with Allow header
    at org.jboss.resteasy.core.registry.SegmentNode.match(SegmentNode.java:375)
    at org.jboss.resteasy.core.registry.SegmentNode.match(SegmentNode.java:114)
    at org.jboss.resteasy.core.registry.RootNode.match(RootNode.java:43)
    at org.jboss.resteasy.core.registry.RootClassNode.match(RootClassNode.java:48)
    at org.jboss.resteasy.core.ResourceMethodRegistry.getResourceInvoker(ResourceMethodRegistry.java:444)
    at org.jboss.resteasy.core.SynchronousDispatcher.getInvoker(SynchronousDispatcher.java:234)
    at org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:171)
    at org.jboss.resteasy.plugins.server.servlet.ServletContainerDispatcher.service(ServletContainerDispatcher.java:220)
    at org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:56)
    at org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:51)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
    at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:738)
    at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1651)
    at com.thetransactioncompany.cors.CORSFilter.doFilter(CORSFilter.java:176)
    at com.thetransactioncompany.cors.CORSFilter.doFilter(CORSFilter.java:239)
    at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1631)
    at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:549)
    at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143)
    at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:568)
    at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:221)
    at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1111)
    at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:478)
    at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:183)
    at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1045)
    at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
    at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:199)
    at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:109)
    at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:97)
    at org.eclipse.jetty.server.Server.handle(Server.java:462)
    at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:279)
    at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:232)
    at org.eclipse.jetty.io.AbstractConnection$2.run(AbstractConnection.java:534)
    at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:607)
    at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:536)
    at java.lang.Thread.run(Thread.java:744)

Expecting value: line 1 column 1 (char 0)

Finished: errors=1
DEBUG:requests.packages.urllib3.connectionpool:"PUT /api/v1/observations HTTP/1.1" 500 3078
Python代码是:[带有一些无关的调试/打印]

作为参考,在所示的代码中传递的有效负载复制并粘贴到POSTMAN中,其工作方式为PUT:

{
'medium': 'WATER', 
'observedTime': '2014-08-20T10:00:00.000-00:00', 
'samplingLocation': {'id': '1f2df33e-790c-4065-bf90-ddf12a764039'}, 
'dataClassification': 'SENSOR', 
'resultTime': '2014-08-20T10:00:00.000-00:00', 
'observedProperty': {'id': '8effe050-c13f-4b57-9671-225523aeca77'}, 
'customId': 'observation_test_1'
}

试着比较一下Python和Postman的请求,如果您能向我们提供@wiweb所要求的信息,这会更有帮助。我也有同样的问题:(
{
'medium': 'WATER', 
'observedTime': '2014-08-20T10:00:00.000-00:00', 
'samplingLocation': {'id': '1f2df33e-790c-4065-bf90-ddf12a764039'}, 
'dataClassification': 'SENSOR', 
'resultTime': '2014-08-20T10:00:00.000-00:00', 
'observedProperty': {'id': '8effe050-c13f-4b57-9671-225523aeca77'}, 
'customId': 'observation_test_1'
}