Error 405 HTTP method POST is not supported by this URL 的解决办法

短命女 2021-11-10 08:08 940阅读 0赞

问题概述

在项目开发过程中,使用到了企业搜索引擎 Solr 服务,客户端通过 Apache-SolrJ 连接到远程Solr服务器,但是在编写测试单元时,遇到了个不大不小的BUG,总是连接不上,反复的检查各个配置,发现都是正确的,再测试,再查看错误信息:“ Error 405 HTTP method POST is not supported by this URL ”,其大概意思说明了当前URL是不被支持的格式。

部分截图如下:

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0hlbGxvX1dvcmxkX1FXUA_size_16_color_FFFFFF_t_70

具体信息如下:

  1. org.apache.solr.client.solrj.impl.HttpSolrClient$RemoteSolrException: Error from server at http://192.168.159.159:8080/solr/#/aiyou_01_core: Expected mime type application/octet-stream but got text/html. <html>
  2. <head>
  3. <meta http-equiv="Content-Type" content="text/html;charset=utf-8"/>
  4. <title>Error 405 HTTP method POST is not supported by this URL</title>
  5. </head>
  6. <body><h2>HTTP ERROR 405</h2>
  7. <p>Problem accessing /solr/index.html. Reason:
  8. <pre> HTTP method POST is not supported by this URL</pre></p>
  9. </body>
  10. </html>
  11. at org.apache.solr.client.solrj.impl.HttpSolrClient.executeMethod(HttpSolrClient.java:620)
  12. at org.apache.solr.client.solrj.impl.HttpSolrClient.request(HttpSolrClient.java:262)
  13. at org.apache.solr.client.solrj.impl.HttpSolrClient.request(HttpSolrClient.java:245)
  14. at org.apache.solr.client.solrj.SolrRequest.process(SolrRequest.java:211)
  15. at org.apache.solr.client.solrj.SolrClient.add(SolrClient.java:177)
  16. at org.apache.solr.client.solrj.SolrClient.add(SolrClient.java:138)
  17. at org.apache.solr.client.solrj.SolrClient.add(SolrClient.java:156)
  18. at com.huazai.b2c.aiyou.test.solrj.TSolrjClient.addDocument(TSolrjClient.java:43)
  19. at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
  20. at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
  21. at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
  22. at java.lang.reflect.Method.invoke(Method.java:497)
  23. at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50)
  24. at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
  25. at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47)
  26. at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
  27. at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325)
  28. at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78)
  29. at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:57)
  30. at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
  31. at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
  32. at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
  33. at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
  34. at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
  35. at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
  36. at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:86)
  37. at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
  38. at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:538)
  39. at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:760)
  40. at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:460)
  41. at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:206)

解决办法

在错误信息中已知,是URL不被支持,错误的,但是一般都喜欢Ctrl + C/V,往往就会忽略了一些细节,如特殊符号,

修改前(错误的路径):http://192.168.159.159:8080/solr/#/aiyou_01_core

修改后(正确的路径):http://192.168.159.159:8080/solr/aiyou_01_core

这儿博主直接将Solr的core的路径复制到了里面,是不行的,因为里面夹带了一个特殊符号“ # ”,其主要问题是在通过SolrJ访问远程Solr服务器时,路径中不能加 “ # ” 的符号,取消掉就可以了,

解决后如下图:

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0hlbGxvX1dvcmxkX1FXUA_size_16_color_FFFFFF_t_70 1


好了,关于 Error 405 HTTP method POST is not supported by this URL 的解决办法 就写到这儿了,如果还有什么疑问或遇到什么问题欢迎扫码提问,也可以给我留言哦,我会一一详细的解答的。
歇后语:“ 共同学习,共同进步 ”,也希望大家多多关注CSND的IT社区。

























作       者: 华    仔
联系作者: who.seek.me@java98k.vip
来        源: CSDN (Chinese Software Developer Network)
原        文: https://blog.csdn.net/Hello_World_QWP/article/details/98198715
版权声明: 本文为博主原创文章,请在转载时务必注明博文出处!

发表评论

表情:
评论列表 (有 0 条评论,940人围观)

还没有评论,来说两句吧...

相关阅读