云代码功能在Parse中运行良好但在back4app中运行不正常

时间:2016-10-22 08:16:42

标签: javascript parse-platform http-headers cloud-code back4app

将我的应用从Parse.com迁移到back4app平台后,我们开始面临云代码功能的问题。

我有一个调用以下网址的云代码功能: http://www.pro.co.il/homeler/test.asp?c=6&a=51

错误是: {[错误:解析错误] bytesParsed:373,代码:' HPE_UNEXPECTED_CONTENT_LENGTH' }

云代码功能:

    Parse.Cloud.define("getFromPro", function (request, response) {
    return Parse.Cloud.httpRequest({
    url: 'http://www.pro.co.il/homeler/test.asp?c=' + request.params.classification + '&a=' + request.params.area,
    method: 'GET',
    headers: {
    'Content-Type': 'application/json;charset=utf-8'
    }
    }).then(function (httpResponse) {
        response.success(httpResponse);
    }, function (httpResponse) {
        response.error("not ok");
    });
});

知道问题是在back4app服务器上,还是我可以在我的云代码功能中修复它?

1 个答案:

答案 0 :(得分:1)

问题是您从pro.co.il获得的回复有两个内容长度标题:

curl -v http://www.pro.co.il/homeler/test.asp\?c\=6\&a\=51  
* Trying 195.190.23.112...
* Connected to www.pro.co.il (195.190.23.112) port 80 (#0)
> GET /homeler/test.asp?c=6&a=51 HTTP/1.1
> Host: www.pro.co.il
> User-Agent: curl/7.49.1
> Accept: */*
> 
< HTTP/1.1 200 OK
< Cache-Control: private
< Content-Length: 1583
< Content-Type: text/html; Charset=UTF-8
< Expires: Sun, 31 Dec 1989 22:00:00 GMT
< Set-Cookie: ASPSESSIONIDCSCTSQSS=OBFNBKCBBPEDLKCIJNNLBJCD; path=/
< X-Powered-By: ASP.NET
< Accept-Ranges: bytes
< Date: Sat, 22 Oct 2016 15:08:28 GMT
< X-Varnish: 1532078109
< Age: 0
< Via: 1.1 varnish
< Connection: keep-alive
< Content-Length: 1583

当你从parse.com转移到parse-server时,用于制作Parse.Cloud.request的库变为https://github.com/request/request,出于安全原因,它使用了对头文件严格的节点http lib(尽管是重复的内容长度匹配,因为在这种情况下,没有错误是合理的,因为它不会带来安全风险)。

您可以在此处阅读有关此问题:https://github.com/nodejs/node/issues/6517

我查看了请求选项,看看你是否可以关闭它,但看起来你不能。

你有可能让pro.co.il修复他们的破坏回复吗?