真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

使用apachehttpclient調(diào)用其他服務(wù)器接口時報(bào)錯怎么辦

這篇文章主要講解了“使用apache http client調(diào)用其他服務(wù)器接口時報(bào)錯怎么辦”,文中的講解內(nèi)容簡單清晰,易于學(xué)習(xí)與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“使用apache http client調(diào)用其他服務(wù)器接口時報(bào)錯怎么辦”吧!

成都創(chuàng)新互聯(lián)公司專注于企業(yè)營銷型網(wǎng)站、網(wǎng)站重做改版、虞城網(wǎng)站定制設(shè)計(jì)、自適應(yīng)品牌網(wǎng)站建設(shè)、H5網(wǎng)站設(shè)計(jì)商城網(wǎng)站開發(fā)、集團(tuán)公司官網(wǎng)建設(shè)、外貿(mào)網(wǎng)站建設(shè)、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁設(shè)計(jì)等建站業(yè)務(wù),價格優(yōu)惠性價比高,為虞城等各大城市提供網(wǎng)站開發(fā)制作服務(wù)。

今天在使用 apache http client 調(diào)用 其他服務(wù)器的接口的時候, get 請求報(bào)錯了

org.springframework.web.HttpMediaTypeNotAcceptableException: 
Could not parse 'Accept' header [text/html,application/xhtml+xml,application/xml;q=0.9,*/;q=0.8]: Invalid mime type "*/;q=0.8": does not contain subtype after '/'


org.springframework.util.InvalidMimeTypeException: 
Invalid mime type "*/;q=0.8": does not contain subtype after '/'

說是不支持 header 的 accept 類型。 因?yàn)檫@個 服務(wù)器的接口默認(rèn)只支持返回 json 格式的。所以報(bào)錯了,修改 http client 的請求header 的 acept 即可

代碼如下:

/**
   * GET方式提交數(shù)據(jù)
   *
   * @param url 待請求的URL
   * @param params 要提交的數(shù)據(jù)
   * @param enc 編碼
   * @param resEnc 響應(yīng)內(nèi)容的編碼
   * @return 響應(yīng)結(jié)果
   */
  public static String doGet(String url, Map params, String enc, String resEnc) {
    String response = EMPTY;
    HttpGet getMethod = null;
    if (StringUtils.isEmpty(url)) {
      return null;
    }
    StringBuffer strtTotalURL = getTotalUrl(url, params, enc);
    logger.debug("GET請求URL = \n" + strtTotalURL.toString());
    try {
      getMethod = getGetMethod(strtTotalURL.toString());
      getMethod.setHeader("Content-Type", "application/x-www-form-urlencoded;charset=" + enc);
      // 執(zhí)行g(shù)etMethod
      HttpResponse httpResponse = getHttpClient(url).execute(getMethod);
      response = getResponse(url, httpResponse, resEnc);

    } catch (ClientProtocolException e) {
      logger.error("發(fā)生致命的異常,可能是協(xié)議不對或者返回的內(nèi)容有問題" + e.getMessage(), e);
    } catch (IOException e) {
      logger.error("發(fā)生網(wǎng)絡(luò)異常" + e.getMessage(), e);
    } finally {
      if (getMethod != null) {
        getMethod.releaseConnection();
        getMethod = null;
      }
    }
    return response;
  }



 /**
   * 模擬瀏覽器GET提交
   *
   * @param url
   * @return
   */
  private static HttpGet getGetMethod(String url) {
    if (!url.startsWith(HTTP)) {
      url = "http://" + url;
    }
    HttpGet pmethod = new HttpGet(url);
    // 設(shè)置響應(yīng)頭信息
    pmethod.addHeader("Connection", "keep-alive");
    pmethod.addHeader("Cache-Control", "max-age=0");
    pmethod.addHeader("User-Agent", "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0) ");

    //    pmethod.addHeader("Accept",
    // "text/html,application/xhtml+xml,application/xml;q=0.9,*/;q=0.8");
    // 設(shè)置接收所有類型的,否則如果請求的服務(wù)器只支持 application/json  那么就會報(bào)錯
    pmethod.addHeader("Accept", "*/*");

    return pmethod;
  }

改為  pmethod.addHeader("Accept", "*/*");  即可

改進(jìn)

以上的說法是錯的。

從報(bào)錯的信息就可以看出, 是 */ 這種寫法 錯誤的。導(dǎo)致header accept 解析不成功。

改為

pmethod.addHeader(    "Accept",    "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8");

完整版

pmethod.addHeader(    "Accept",    "text/html,application/xhtml+xml,application/xml;application/json,*/*;q=0.9,*/*;q=0.8");

感謝各位的閱讀,以上就是“使用apache http client調(diào)用其他服務(wù)器接口時報(bào)錯怎么辦”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對使用apache http client調(diào)用其他服務(wù)器接口時報(bào)錯怎么辦這一問題有了更深刻的體會,具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是創(chuàng)新互聯(lián),小編將為大家推送更多相關(guān)知識點(diǎn)的文章,歡迎關(guān)注!


本文題目:使用apachehttpclient調(diào)用其他服務(wù)器接口時報(bào)錯怎么辦
標(biāo)題路徑:http://weahome.cn/article/ipessp.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部