如何使用gzip为React Native Android设置抓取?

时间:2018-08-27 18:55:39

标签: android react-native gzip okhttp

我的React Native应用程序在iOS和Android上均能正常运行,但最近在响应时间长时,它在Android上出现Network request failed错误。

我发现是否将请求的标头设置为'Accept-Encoding': 'gzip',,我可以记录响应,但是它仅包含标头,例如:

{  
   type:'default',
   status:200,
   ok:true,
   statusText:undefined,
   headers:{  
      map:{  
         date:'Mon, 27 Aug 2018 18:39:23 GMT',
         'content-type':'application/json',
         'content-length':'215',
         'content-encoding':'gzip',
         'cache-control':'no-cache'
      }
   },
   url:'http://test.essaybot.com/essay/list',
   _bodyInit:'',
   _bodyText:''
}

这是我设置提取请求的方式:

const URLENCODED_HEADER = {
  'Accept': 'application/json',
  'Content-Type': 'application/x-www-form-urlencoded',
  'Accept-Encoding': 'gzip',
  'Content-Encoding': 'identity'
}

async function getEssayList() {
  try {
    let response = await fetch(SERVER_URL+'/essay/list', {
      headers: URLENCODED_HEADER,
      credentials: 'include',
    });
    let responseJson = await response;
    console.log("[getEssayList]=======>", responseJson)
  } catch(error) {
    console.error(error);
    throw error;
  }
}

0 个答案:

没有答案