.net中的代码如下代码所示。我想用java编写它。我该怎么做? Shoul我用httpclient或socket来做这个吗?
using (WebClient wc = new WebClient())
{
wc.Encoding = System.Text.Encoding.UTF8;
wc.Headers.Add("HOST", "example.com");
wc.Headers.Add("User-Agent", "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:16.0) Gecko/20100101 Firefox/16.0");
wc.Headers.Add("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8");
wc.Headers.Add("Accept-Language", "tr-TR,tr;q=0.8,en-US;q=0.5,en;q=0.3");
html = wc.DownloadString(link);
if (temp == null)
return string.Empty;
return html;
}
答案 0 :(得分:2)
使用默认JDK附带的HttpUrlConnection。不需要下载额外的库。 这是java
中上面一段代码的翻译public static String get(String link){
HttpURLConnection connection=null;
try{
URL url=new URL(link);
connection=(HttpURLConnection)url.openConnection();
connection.setRequestMethod("GET");
connection.setRequestProperty("HOST", "example.com");
connection.setRequestProperty("User-Agent", "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:16.0) Gecko/20100101 Firefox/16.0");
connection.setRequestProperty("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8");
connection.setRequestProperty("Accept-Language", "tr-TR,tr;q=0.8,en-US;q=0.5,en;q=0.3");
connection.setDoInput(true);
connection.setDoOutput(true);
BufferedReader in=new BufferedReader(new InputStreamReader(connection.getInputStream(),"UTF-8"));
String line,response="";
while((line=in.readLine())!=null)
response+=(line+"\n");
in.close();
return response;
}catch(Exception e){}
return "";
}