2016-10-22 2 views
0

Parse.comからback4appプラットフォームにマイアプリを移行した後、クラウドコード機能に関する問題が発生しました。クラウドコードの機能はParseでは正常に機能しましたが、back4appでは無効です

は、私は、次のURLを呼び出しているクラウドコード機能があります。 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

問題は、pro.co.ilから取得している応答は、2つのコンテンツの長さのヘッダを持っているということです:あなたは、サーバーを解析するparse.com、ライブラリの使用目的から移動

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.Cloud.requestをに変更しました。セキュリティ上の理由からヘッダーについて厳密なノードhttp libを使用しています(重複したcontent-lengthsが一致した場合、この場合はポーズしないのでエラーにならないのが妥当です)セキュリティリスク)。 https://github.com/nodejs/node/issues/6517

は、私はあなたがこれをオフにすることができるかどうかを確認するために、要求のオプションを見て、それはあなたができないようになっています

あなたがここでの問題について読むことができます。

pro.co.ilを取得して却下されたレスポンスを修正することは可能ですか?

+0

それは動作しています:) –

関連する問題