java socket HTTPClient GET
2011-01-10 16:49
344 查看
public class HttpClientMain {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Socket socket;
try {
InetAddress hostAdd=InetAddress.getByName("192.168.6.5");
socket=new Socket(hostAdd,80);
OutputStream out=socket.getOutputStream();
InputStream in=socket.getInputStream();
ByteArrayOutputStream baos=new ByteArrayOutputStream();
//baos.write("data=abc\r\n".getBytes());
//System.out.println("Data Lenth:"+baos.toByteArray().length);
byte[] bytes = ("GET / HTTP/1.1\n" +
"Host:192.168.6.5\n" +
"Connection:close\n" +
"User-agent:Mozilla/4.0\n" +
"Accept-language:zh-cn\n" +
"\n").getBytes("UTF-8");
out.write(bytes);
out.flush();
byte[] bt=new byte[1024];
InputStreamReader isr;
int len;
baos.reset();
while((len=in.read(bt))>-1){
baos.write(bt, 0, len);
}
Vector<String> v=GetStartEndValue(baos.toString(),"\\(","\\)", 0);
if (v.size()>0){
System.out.println(v.firstElement());
}
baos.close();
in.close();
} catch (UnknownHostException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
/// <summary>
/// 获得字符串中开始和结束字符串中间得值
/// </summary>
/// <param name="str">字符串</param>
/// <param name="s">开始</param>
/// <param name="e">结束</param>
///<param name="azimuth">匹配内容是否包含开始与结束符号,0:不包含 1:包含</param>
/// <returns></returns>
public static Vector<String> GetStartEndValue(String str, String s, String e,int azimuth){
Pattern pattern;
if (azimuth==1){
pattern = Pattern.compile("(?=(" + s + "))[.\\s\\S]*?(?<=(" + e + "))");
}else{
pattern = Pattern.compile("(?<=(" + s + "))[.\\s\\S]*?(?=(" + e + "))");
}
Matcher matcher = pattern.matcher(str);
StringBuffer buffer = new StringBuffer();
Vector<String> vector=new Vector<String>();
while(matcher.find()){
vector.add(matcher.group());
}
return vector;
}
}
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Socket socket;
try {
InetAddress hostAdd=InetAddress.getByName("192.168.6.5");
socket=new Socket(hostAdd,80);
OutputStream out=socket.getOutputStream();
InputStream in=socket.getInputStream();
ByteArrayOutputStream baos=new ByteArrayOutputStream();
//baos.write("data=abc\r\n".getBytes());
//System.out.println("Data Lenth:"+baos.toByteArray().length);
byte[] bytes = ("GET / HTTP/1.1\n" +
"Host:192.168.6.5\n" +
"Connection:close\n" +
"User-agent:Mozilla/4.0\n" +
"Accept-language:zh-cn\n" +
"\n").getBytes("UTF-8");
out.write(bytes);
out.flush();
byte[] bt=new byte[1024];
InputStreamReader isr;
int len;
baos.reset();
while((len=in.read(bt))>-1){
baos.write(bt, 0, len);
}
Vector<String> v=GetStartEndValue(baos.toString(),"\\(","\\)", 0);
if (v.size()>0){
System.out.println(v.firstElement());
}
baos.close();
in.close();
} catch (UnknownHostException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
/// <summary>
/// 获得字符串中开始和结束字符串中间得值
/// </summary>
/// <param name="str">字符串</param>
/// <param name="s">开始</param>
/// <param name="e">结束</param>
///<param name="azimuth">匹配内容是否包含开始与结束符号,0:不包含 1:包含</param>
/// <returns></returns>
public static Vector<String> GetStartEndValue(String str, String s, String e,int azimuth){
Pattern pattern;
if (azimuth==1){
pattern = Pattern.compile("(?=(" + s + "))[.\\s\\S]*?(?<=(" + e + "))");
}else{
pattern = Pattern.compile("(?<=(" + s + "))[.\\s\\S]*?(?=(" + e + "))");
}
Matcher matcher = pattern.matcher(str);
StringBuffer buffer = new StringBuffer();
Vector<String> vector=new Vector<String>();
while(matcher.find()){
vector.add(matcher.group());
}
return vector;
}
}
相关文章推荐
- httpclient发送post/get请求,Java后台怎么接受
- java_HttpClient使用HttpGet进行json数据传输
- Java模拟HTTP的Get和Post请求(增强) Apache-httpclient
- Java:HttpClient篇,HttpClient4.2在Java中的几则应用:Get、Post参数、Session(会话)保持、Proxy(代理服务器)设置,多线程设置...
- java使用socket实现http简单get请求
- 在JAVA中用HTTPClient的GET方式通信步骤
- C#通过WebClient/HttpWebRequest实现http的post/get方法与java对接
- HttpClient详解,Java发送Http的post、get方式请求 --待整理
- Java:HttpClient篇,HttpClient4.2在Java中的几则应用:Get、Post参数、Session(会话)保持、Proxy(代理服务器)设置,多线程设置...
- Java:HttpClient篇,HttpClient4.2在Java中的几则应用:Get、Post参数、Session(会话)保持、Proxy(代理服务器)设置,多线程设置...
- java HttpClient 的get使用的Demo
- java apache commons HttpClient发送get和post请求的学习整理
- 简单记下httpclientjava实现get,post请求
- [Socket]利用Jatarka下HttpClient发送(Get && Post)请求
- JAVA代码:通过Socket执行HTTP的GET方法
- Java socket HTTP(POST/GET)
- java apache commons HttpClient发送get和post请求的学习整理
- java HttpClient get post请求 调用接口
- Java乔晓松-httpURLConnection、URL、httpClient、httpPost、httpGet之代码详解篇
- java httpclient发送post get 请求