2016-07-29 44 views
0

我可以使用curl發出請求,獲取響應並將其解析爲protobuf。但是,在試圖對節點request執行相同操作時,即使將其轉換爲緩衝區,我也無法將body參數解析爲protobuf。節點請求輸出不同於捲曲輸出

這裏的要求應該有什麼樣的十六進制轉儲輸出

00000000: 1088 8080 80f0 fca4 f02c a206 00a2 0600 .........,...... 
00000010: a206 5408 a7b5 a9a4 e22a 10ff 8ac8 b9e3 ..T......*...... 
00000020: 2a1a 121a 100a 0e09 2130 0000 0000 0000 *.......!0...... 
00000030: 107b 18d4 011a 121a 100a 0e09 2130 0000 .{..........!0.. 
00000040: 0000 0000 107b 18d4 011a 121a 100a 0e09 .....{.......... 
00000050: 2130 0000 0000 0000 107b 18d4 011a 081a !0.......{...... 
00000060: 0612 0408 0110 15a2 0600 a206 00   ............. 

這就是創建緩衝區傾銷到磁盤上,並使用xxd它轉儲到十六進制

00000000: 10ef bfbd efbf bdef bfbd efbf bdef bfbd ................ 
00000010: efbf bdef bfbd efbf bd2c efbf bd06 00ef .........,...... 
00000020: bfbd 0600 efbf bd06 5408 efbf bdef bfbd ........T....... 
00000030: efbf bdef bfbd efbf bd2a 10ef bfbd efbf .........*...... 
00000040: bdef bfbd efbf bdef bfbd 2a1a 121a 100a ..........*..... 
00000050: 0e09 2130 0000 0000 0000 107b 18ef bfbd ..!0.......{.... 
00000060: 011a 121a 100a 0e09 2130 0000 0000 0000 ........!0...... 
00000070: 107b 18ef bfbd 011a 121a 100a 0e09 2130 .{............!0 
00000080: 0000 0000 0000 107b 18ef bfbd 011a 081a .......{........ 
00000090: 0612 0408 0110 15ef bfbd 0600 efbf bd06 ................ 

有可能是一個由於時間戳的變化(我的服務器在protobuf內發回它),但兩個文件都應該是可解析的。

回答

0

好的,所以request假設你的迴應是一個unicode字符串,去掉非unicode字符並將其破壞,除非你添加encoding: null requestSettings

將上述參數添加到設置可修復它。