2017-02-06 14 views
0

我使用此(工作)代碼連接到URL,使用代理和基本身份驗證。 URL後面是一個JSON字符串,我想與之合作 - 如何訪問此JSON字符串?URL JSON字符串基本身份驗證

package package; 

import java.io.IOException; 
import java.net.HttpURLConnection; 
import java.net.URL; 

import org.json.JSONException; 

import sun.misc.BASE64Encoder; 

@SuppressWarnings("restriction") 
public class javahttptojson { 

    public static void main(String[] args) throws IOException, JSONException { 

     System.setProperty("https.proxyHost", "someIP"); 
     System.setProperty("https.proxyPort", "somePort"); 

     BASE64Encoder encoder = new BASE64Encoder(); 
     String authString = "admin" + ":" + "adminPW"; 
     String authStringEncoded = encoder.encode(authString.getBytes()); 

     URL myURL = new URL("https://URL"); 
     HttpURLConnection is = (HttpURLConnection) myURL.openConnection(); 

     is.setRequestProperty("Authorization", "Basic " + authStringEncoded);  

     } 
    } 

EDIT(工作液)感謝@ freedev:

StringBuilder sb = new StringBuilder(); 
BufferedReader br = new BufferedReader(new InputStreamReader(is.getInputStream())); 
String inputLine = ""; 
while ((inputLine = br.readLine()) != null) { 
    sb.append(inputLine); 
} 
String result = sb.toString(); 

System.out.println(result); 
+0

您不應該用答案更新問題。 – freedev

回答

1

目的is有一種方法getInputStream()

返回從此打開的連接讀取的輸入流。

BufferedReader br = new BufferedReader(new InputStreamReader(is.getInputStream())); 
StringBuilder sb = new StringBuilder(); 
String inputLine = ""; 
while ((inputLine = br.readLine()) != null) { 
    sb.append(inputLine); 
} 
String result = sb.toString(); 
+0

作品像一個魅力,非常感謝你! – piguy