我正在管理一个由python中的第三部分构建的应用程序。
我有这个网址调度程序
urls += [(r'/path/objectA/(.*)', ObjectAHandler)] # this was made by third parts, it is expected to work
还有这门课
class ObjectAHandler(BaseHandler):
def __init__(self, application, request, **kwargs):
super(ObjectAHandler, self).__init__(application, request, **kwargs) # do the init of the basehandler
@gen.coroutine
def post(self, action=''):
response = {}
...
response = yield self.my_method(json_data)
...
self.write(json.dumps(response))
def my_method(self, json_data)
...
我想检查应用程序是否正确接收到请求并返回一些响应。
所以我尝试与邮递员一起访问该网址
请求类型:
POST
网址:
http://<machine_ip>:<machine_port>/path/objectA/
我从邮递员响应框中收到此错误
分析错误:服务器返回了格式错误的响应
当我点击“在控制台中查看”时,我看到
POST http://machine_ip>:<machine_port>/path/objectA/
Error: Parse Error: Expected HTTP/
Request Headers
Content-Type: application/json
User-Agent: PostmanRuntime/7.28.4
Accept: */*
Postman-Token: d644d7dd-699b-4d77-b32f-46a575ae31fc
Host: xx.xxx.x.xx:22
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Request Body
错误:解析错误:预期的HTTP /
是什么意思?
我检查了我的应用程序日志,但似乎没有处理任何请求,即使Postman指示服务器正在返回(格式错误的)响应。
我还尝试将目标网址限定为:
https...
但是它回来了
Error: write EPROTO 28427890592840:error:100000f7:SSL routines:OPENSSL_internal:WRONG_VERSION_NUMBER:../../third_party/boringssl/src/ssl/tls_record.cc:242:
我发现这表明我应该坚持使用HTTP
然后我也尝试了:
http://<machine_ip>/path/objectA/
和
<machine_ip>/path/objectA/
通常会返回:
Error: connect ECONNREFUSED <machine_ip>:80
我也试着用替代线
urls += [(r'/path/objectA/(.*)', ObjectAHandler)]
跟
urls += [(r'/path/objectA/', ObjectAHandler)]
和
urls += [(r'/path/objectA', ObjectAHandler)]
但这些都没有奏效。
怎么了?我该怎么修?
显然,根据邮递员Github上的这个帖子,问题只发生在邮递员桌面上,而不是浏览器上的邮递员上。
所以我试着在浏览器上发送申请表邮递员,但我得到了
Cloud Agent Error: Can not send requests to reserved address. Make sure address is publicly accessible or select a different agent.
因为,根据另一个线程,
邮递员网站无法向您计算机的本地主机发送请求。它首先需要连接到你的电脑与邮差桌面客户端
即使我按照答案中的指示去做
运行它[ndr. Postman桌面],然后转到浏览器中的Postman工作区-
我得到的还是一样的
Error: Parse Error: Expected HTTP/
在浏览器上的Postman Desktop和Postman上。
继续调试,我试着从我的终端在那个url上画一个圈:
myuser@mymachine-VirtualBox:~$ curl --verbose "http://<target_machine_ip>:<target_machine_port>/path/objectA"
我得到了:
* Trying <target_machine_ip>:<target_machine_port>...
* Connected to <target_machine_ip> (<target_machine_ip>) port <target_machine_port> (#0)
> GET /orkpos5/receipt HTTP/1.1
> Host: <target_machine_ip>:<target_machine_port>
> User-Agent: curl/7.74.0
> Accept: */*
>
* Received HTTP/0.9 when not allowed
* Closing connection 0
curl: (1) Received HTTP/0.9 when not allowed
已解决
由于公开的api是由第三方构建的,供内部使用,因此不会公开给公众。
我不知道,所以在请求URL中,我输入了HTTP请求的众所周知的端口号,即数字22(请参阅众所周知的端口号列表。)。
为了解决问题,在请求URL中,我更改了
问题内容: 我有这个行代码 在我的本地(WAMP)php 5.4.3上运行良好,但是当我将其托管在服务器cpanel上时,它将给出此错误 我服务器上的php版本是5.2.17 我没有发现任何问题,请帮忙 问题答案: 您需要运行PHP 5.4+才能使用速记数组
dispatcher Servlet中的配置 我在用杰克逊罐子 jackson-core-asl-1.9.0.jar Jackson-Mapper-ASL-1.9.0.jar json-lib-0.9.jar Spring版本是3.2.4
给Rest服务打电话 http://acme.com/app/widget/123 返回: 此客户端代码的工作原理是: 但是,http://acme.com/app/widget/456返回: 但此客户端代码引发了一个异常: 我试过: 第二次调用只是抛出了另一个HttpClientErrorException,而且它觉得调用服务两次是不对的。 是否有一种方法可以调用该服务一次,并在成功时将响应解析
问题内容: 我想使用Javascript 解析此内容。数据如下所示: 在线上的每个教程都教您如何使用Twitter解析JSON,但是我不太确定如何使用JSON解析。 我想在一个网站上进行设置,以查看NFL团队在一个有趣的项目中获得的分数,以及有关解析JSON的良好学习体验,因为我不太在乎Twitter的东西。 这可能吗?有什么好的入门教程吗?甚至一些起始代码? 问题答案: 一般来说,您可以使用 J
谢谢伙计们,成功了!
清除浏览器缓存并重新启动 恢复到GIT中当时正在工作的旧提交 重新启动终端 运行其他正常运行的rails应用程序