Android 中的 httprequest 失败,异常为空



我有一个 HTTP 请求抛出了一个null异常。

代码如下:

public String updateRounds() {
    // Create a new HttpClient and Post Header
    HttpClient httpclient = new DefaultHttpClient();
    HttpPost httppost = new HttpPost("https://technet.rapaport.com/HTTP/Prices/CSV2_Round.aspx");
    // Add your data
    List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(2);
    nameValuePairs.add(new BasicNameValuePair("Username", _user));
    nameValuePairs.add(new BasicNameValuePair("Password", _password));
    try {
        httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
    } catch (UnsupportedEncodingException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
    ResponseHandler<String> responseHandler = new BasicResponseHandler();
    String response = "";
    // Execute HTTP Post Request
    try {
        response = httpclient.execute(httppost, responseHandler); // it gets
                                                                  // exception
                                                                  // here
    } catch (Exception e) {
        e.getMessage(); // e is null
    }
    return response;
}

有人知道为什么会这样吗?

谢谢大家的帮助。我已经更改了

e.getMessage();

e.printStackTrace();

我看到例外是关于SSL证书的。所以我处理了它,现在它可以工作了。谢谢大家。

您在遵循时遇到问题。

String response = "";
    // Execute HTTP Post Request
    try {           
        response = httpclient.execute(httppost, responseHandler); //it gets exception here

什么是响应处理程序?

httpclient.execute返回HttpResponse,您正在尝试以response(即字符串)返回它。

所以改变

  String response 

HttpResponse response

如果您确实要返回字符串,请添加以下代码。

    bufferedReader = new BufferedReader(
               new InputStreamReader(response.getEntity().getContent()));
       StringBuffer stringBuffer = new StringBuffer("");
       String line = "";
       String LineSeparator = System.getProperty("line.separator");
       while ((line = bufferedReader.readLine()) != null) {
        stringBuffer.append(line + LineSeparator); 
       }
      bufferedReader.close();  
      return stringBuffer.toString();

最新更新