一、Http的Get方式读取网络数据
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLConnection;
public class TestGet {
public static void main(String[] args) {
new ReadByGet().start();
}
static class ReadByGet extends Thread{
public void run() {
try {
URL url=new URL("http://fanyi.youdao.com/openapi.do?keyfrom=wangyetiaoshi&key=834471614&type=data&doctype=xml&version=1.1&q=Hello");
URLConnection connection=url.openConnection();
InputStream is=connection.getInputStream();
InputStreamReader isr=new InputStreamReader(is);
BufferedReader br=new BufferedReader(isr);
String line;
StringBuilder builder=new StringBuilder();
while((line=br.readLine())!=null){
builder.append(line);
}
br.close();
isr.close();
is.close();
System.out.println(builder.toString());
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
public class TestPost {
public static void main(String[] args) {
new ReadByPost().start();
}
static class ReadByPost extends Thread{
public void run() {
try {
URL url=new URL("http://fanyi.youdao.com/openapi.do");
HttpURLConnection connection=(HttpURLConnection) url.openConnection();
connection.addRequestProperty("encoding", "UTF-8");
connection.setDoInput(true);
connection.setDoOutput(true);
connection.setRequestMethod("POST");
OutputStream os=connection.getOutputStream();
OutputStreamWriter osw=new OutputStreamWriter(os);
BufferedWriter bw=new BufferedWriter(osw);
bw.write("keyfrom=wangyetiaoshi&key=834471614&type=data&doctype=xml&version=1.1&q=Hello");
bw.flush();
InputStream is=connection.getInputStream();
InputStreamReader isr=new InputStreamReader(is);
BufferedReader br=new BufferedReader(isr);
String line;
StringBuilder builder=new StringBuilder();
while((line=br.readLine())!=null){
builder.append(line);
}
bw.close();
osw.close();
os.close();
br.close();
isr.close();
is.close();
System.out.println(builder.toString());
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
httpclient下载网址:http://hc.apache.org/downloads.cgi
import java.io.IOException;
import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.HttpClients;
import org.apache.http.util.EntityUtils;
public class TestHttpGet {
public static void main(String[] args) {
new Get().start();
}
static class Get extends Thread{
HttpClient client=HttpClients.createDefault();
public void run() {
HttpGet get=new HttpGet("http://www.baidu.com");
try {
HttpResponse response=client.execute(get);
HttpEntity entity=response.getEntity();
String result=EntityUtils.toString(entity,"UTF-8");
System.out.println(result);
} catch (ClientProtocolException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
四、 HttpClient 进行 Post 方式通信
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.HttpClient;
import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.impl.client.HttpClients;
import org.apache.http.message.BasicNameValuePair;
import org.apache.http.util.EntityUtils;
public class TestHttpPost {
public static void main(String[] args) {
new Post().start();
}
static class Post extends Thread {
HttpClient client = HttpClients.createDefault();
public void run() {
HttpPost post = new HttpPost("http://fanyi.youdao.com/openapi.do");
try {
List<BasicNameValuePair> parameters=new ArrayList<>();
parameters.add(new BasicNameValuePair("keyfrom", "wangyetiaoshi"));
parameters.add(new BasicNameValuePair("key", "834471614"));
parameters.add(new BasicNameValuePair("doctype", "xml"));
parameters.add(new BasicNameValuePair("version", "1.1"));
parameters.add(new BasicNameValuePair("q", "welcome"));
post.setEntity(new UrlEncodedFormEntity(parameters));
HttpResponse response = client.execute(post);
HttpEntity entity = response.getEntity();
String result = EntityUtils.toString(entity, "UTF-8");
System.out.println(result);
} catch (ClientProtocolException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}