2013-07-11 498 views
-1

我需要向https地址發送郵寄請求。我有一個函數可以正確發送郵件消息,但是我似乎無法讓它在https上工作。發送郵寄請求至https

public static String serverCall(String link, String data){ 
    HttpURLConnection connection; 
    OutputStreamWriter request = null; 

     URL url = null; 
     String response = null; 
     String parameters = data; 

     try 
     { 
      url = new URL(link); 
      connection = (HttpURLConnection) url.openConnection(); 
      connection.setDoOutput(true); 
      connection.setRequestProperty("Content-Type", "text/xml"); 
      connection.setRequestMethod("POST"); 

      request = new OutputStreamWriter(connection.getOutputStream()); 
      request.write(parameters); 
      request.flush(); 
      request.close(); 
      String line = ""; 
      InputStreamReader isr = new InputStreamReader(connection.getInputStream()); 
      BufferedReader reader = new BufferedReader(isr); 
      StringBuilder sb = new StringBuilder(); 
      while ((line = reader.readLine()) != null) 
      { 
       sb.append(line + "\n"); 
      } 
      // Response from server after process will be stored in response variable. 
      response = sb.toString(); 

      isr.close(); 
      reader.close(); 

     } 
     catch(IOException e) 
     { 
      // Error 
     } 

     return response; 

}

我一直在使用HttpsURLConnection的HttpURLConnection類的insted的tryed,我還是從我的服務器越來越空。

+0

你們的服務器支持SSL? –

+0

不顯示正在工作的代碼。顯示* not *工作的代碼。你是如何嘗試*使用HttpsURLConnection *?你從哪裏*從你的服務器*空?給出你傳遞給方法和構造函數的參數的例子。 – Oswald

+0

該代碼不適用於https ...我嘗試將HttpURLConnection替換爲HttpsURLConnection – susparsy

回答

0

你應該叫connect();

.... 
connection.setRequestMethod("POST"); 
connection.connect(); 
.... 
+0

可以在http上使用或不使用,不會幫助我使用https連接解決問題... – susparsy