您的位置:首页 > 其它

url应用

2015-09-07 20:43 435 查看
package com.url;

import java.io.FileOutputStream;

import java.io.IOException;

import java.io.InputStream;

import java.io.UnsupportedEncodingException;

import java.util.ArrayList;

import java.util.List;

import org.apache.http.HttpEntity;

import org.apache.http.HttpResponse;

import org.apache.http.NameValuePair;

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.HttpGet;

import org.apache.http.client.methods.HttpPost;

import org.apache.http.impl.client.DefaultHttpClient;

import org.apache.http.message.BasicNameValuePair;

import org.apache.http.util.EntityUtils;

public class TestHttpClient2 {

public static void main(String[] args) {
//http://localhost:8080/web1509/LoginServlet
HttpClient client = new DefaultHttpClient();
HttpPost post = new HttpPost("http://localhost:8080/web1509/LoginServlet");
//设置提交的数据实体
List<NameValuePair> list = new ArrayList<>();
list.add(new BasicNameValuePair("uname", "king"));
list.add(new BasicNameValuePair("pwd", "20"));
try {
post.setEntity(new UrlEncodedFormEntity(list, "gbk"));
//发送请求
HttpResponse res = client.execute(post);
//状态码
int code = res.getStatusLine().getStatusCode();
if(code==200){
HttpEntity en= res.getEntity();
String str = EntityUtils.toString(en, "gbk");
System.out.println(str);
}
client.getConnectionManager().shutdown();

} catch (UnsupportedEncodingException e) {

e.printStackTrace();
} catch (ClientProtocolException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}

private static void test1() {
//1.创建一个浏览器对象
HttpClient client = new DefaultHttpClient();
//2.创建请求方式的对象是
HttpGet get = new HttpGet("http://localhost:8080/web1509/dog.jpg");

try {
//3.发送请求
HttpResponse res=client.execute(get);
//4.获得状态码
int code = res.getStatusLine().getStatusCode();
if(code==200){
InputStream is =res.getEntity().getContent();
int len =0;
FileOutputStream fos = new FileOutputStream("d:\\cc.jpg");
while((len=is.read())!=-1){
fos.write(len);
fos.flush();
}
fos.close();
is.close();
client.getConnectionManager().shutdown(); //关闭连接
System.out.println("下载成功");
}
} catch (ClientProtocolException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}


}

package com.url;

import java.io.BufferedReader;

import java.io.IOException;

import java.io.InputStream;

import java.io.InputStreamReader;

import java.io.OutputStream;

import java.io.UnsupportedEncodingException;

import java.util.ArrayList;

import java.util.List;

import org.apache.http.Header;

import org.apache.http.HttpEntity;

import org.apache.http.HttpResponse;

import org.apache.http.NameValuePair;

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.HttpGet;

import org.apache.http.client.methods.HttpPost;

import org.apache.http.entity.BasicHttpEntity;

import org.apache.http.impl.client.DefaultHttpClient;

import org.apache.http.message.BasicNameValuePair;

public class TestHttpClient {

public static void main(String[] args) throws ClientProtocolException, IOException {
//1.打开浏览器
HttpClient client = new DefaultHttpClient();
//2.输入地址
HttpPost post = new HttpPost("http://localhost:8080/web1509/LoginServlet");
//如果是POST请求,必须指定提交的数据实体
List<NameValuePair> list = new ArrayList<>();
list.add(new BasicNameValuePair("uname", "king"));
list.add(new BasicNameValuePair("pwd", "20"));
post.setEntity(new UrlEncodedFormEntity(list, "gbk"));
//3.回车
HttpResponse res=client.execute(post);
//得到响应状态码
int code = res.getStatusLine().getStatusCode();
if(code==200){
InputStream is = res.getEntity().getContent();
BufferedReader br = new BufferedReader(new InputStreamReader(is));
String line = br.readLine();
System.out.println(line);
br.close();

}
}

private static void test1() {
//http://localhost:8080/web1509/LoginServlet?uname="+name+"&pwd="+pwd
//1.打开浏览器
HttpClient client = new DefaultHttpClient();
//2.输入地址
String name ="king";
String pwd="20";
HttpGet hg = new HttpGet("http://localhost:8080/web1509/LoginServlet?uname="+name+"&pwd="+pwd);
//3.敲回车
try {
HttpResponse response=client.execute(hg);
int code = response.getStatusLine().getStatusCode(); //得到状态码
if(code==200){
InputStream is = response.getEntity().getContent();
BufferedReader br = new BufferedReader(new InputStreamReader(is));
String line = br.readLine();
System.out.println(line);
br.close();

}
} catch (ClientProtocolException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}


}

package com.url;

import java.io.ByteArrayOutputStream;

import java.io.File;

import java.io.FileOutputStream;

import java.io.IOException;

import java.io.InputStream;

import java.io.InputStreamReader;

import java.net.HttpURLConnection;

import java.net.MalformedURLException;

import java.net.URL;

public class TestUrlHttpConnection {

public static void main(String[] args) {
//一边下载,一边听
//要用两个线程,主线程下载,子线程听
try {
final URL url = new URL("http://localhost:8080/web1509/dog.jpg");
new Thread(new Runnable() {

@Override
public void run() {
//进行下载保存到本地的
DownLoadUtil.saveImage(url, new ShowOk() {

@Override
public void showRs(byte[] b) {
String str = new String(b);
System.out.println(str);

}
});
}
}).start();

DownLoadUtil.showImage(url, new ShowOk() {

@Override
public void showRs(byte[] b) {
for (int i = 0; i <b.length; i++) {
System.out.println(b[i]);
}

}
});
} catch (MalformedURLException e) {
e.printStackTrace();
}

}


}

class DownLoadUtil{

public static void saveImage(URL url,ShowOk ok){

try {

HttpURLConnection conn = (HttpURLConnection) url.openConnection();

conn.setRequestMethod(“POST”);

int state = conn.getResponseCode();

if(state==200){

InputStream is = conn.getInputStream();

int len = 0;

FileOutputStream fos = new FileOutputStream(new File(“d:\ss.jpg”));

while((len=is.read())!=-1){

fos.write(len);

fos.flush();

}

fos.close();

is.close();

conn.disconnect();

ok.showRs(“下载到本地成功”.getBytes());

}

} catch (IOException e) {

e.printStackTrace();

}

}

public static void showImage(URL url,ShowOk ok){
try {
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setRequestMethod("POST");
int state = conn.getResponseCode();
if(state==200){
InputStream is = conn.getInputStream();
int len = 0;
ByteArrayOutputStream bos = new ByteArrayOutputStream();
while((len=is.read())!=-1){
bos.write(len);
}
bos.close();
is.close();
conn.disconnect();
ok.showRs(bos.toByteArray());
}
} catch (IOException e) {
e.printStackTrace();
}
}


}

//用于提示的接口

interface ShowOk{

void showRs(byte[] b);

}

package com.url;

import java.io.BufferedReader;

import java.io.File;

import java.io.FileOutputStream;

import java.io.IOException;

import java.io.InputStream;

import java.io.InputStreamReader;

import java.io.OutputStream;

import java.net.HttpURLConnection;

import java.net.MalformedURLException;

import java.net.URL;

import java.util.Scanner;

public class URLHttpConnectionDemo {

public static void main(String[] args) {

Scanner in = new Scanner(System.in);
System.out.println("请输入用户名:");
String name = in.next();
System.out.println("请输入密码:");
String pwd = in.next();

try {
//1.创建一个URL对象
URL url = new URL("http://localhost:8080/web1509/LoginServlet?uname="+name+"&pwd="+pwd);
//2.建立程序与资源之间的连接并打开连接
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
//3.设置请求的方式
conn.setRequestMethod("GET");
//4.必须设置操作流的方式,如果要是GET请求,就无需设置
conn.setDoOutput(true);

//6.获是响应状态码
int state = conn.getResponseCode();
//7.判断状态码
if(state==200){
InputStream is = conn.getInputStream();
BufferedReader br = new BufferedReader(new InputStreamReader(is));
String line = br.readLine();
System.out.println("服务器端的响应:"+line);
br.close();
}

conn.disconnect();
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}

}

private static void test2() {
Scanner in = new Scanner(System.in);
System.out.println("请输入用户名:");
String name = in.next();
System.out.println("请输入密码:");
String pwd = in.next();

try {
//1.创建一个URL对象
URL url = new URL("http://localhost:8080/web1509/LoginServlet");
String param = "uname="+name+"&pwd="+pwd;
//2.建立程序与资源之间的连接并打开连接
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
//3.设置请求的方式
conn.setRequestMethod("POST");
//4.必须设置操作流的方式,如果要是GET请求,就无需设置
conn.setDoOutput(true);
//5.往服务器写内容,一定要放在获得状态码前
OutputStream os = conn.getOutputStream(); //获得输出流
os.write(param.getBytes()); //往服务器写
os.flush();
//6.获是响应状态码
int state = conn.getResponseCode();
//7.判断状态码
if(state==200){
InputStream is = conn.getInputStream();
BufferedReader br = new BufferedReader(new InputStreamReader(is));
String line = br.readLine();
System.out.println("服务器端的响应:"+line);
br.close();
}
os.close();

conn.disconnect();
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}

private static void test1() {
try {
//从指定的服务器上下载图片
String address = "http://localhost:8080/web1509/dog.jpg";
//1.通过地址构建一个URL对象
URL url = new URL(address);
//2.建立程序与资源之间的连接
HttpURLConnection conn= (HttpURLConnection) url.openConnection();
//3.设置请求的方式
conn.setRequestMethod("GET");
//4.设置可以读取服务的内容,默认就是可以读取的
conn.setDoInput(true); //默认就是true
//5.获得一下服务器响应的状态,看有没有连接成功
int state = conn.getResponseCode();
FileOutputStream fos = null;
//6.判断状态码的值,如果是200,表示连接成功,可以进行下载
if(state==conn.HTTP_OK){
//7.获得输入流
InputStream is = conn.getInputStream();
int len = 0;
fos = new FileOutputStream(new File("d:\\dog.jpg"));
while((len=is.read())!=-1){
fos.write(len);
fos.flush();
}

//8.释放资源
fos.close();
is.close();
conn.disconnect(); //断开连接
System.out.println("下载成功");
}

} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}


}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: