zoukankan      html  css  js  c++  java
  • java socket HTTPClient GET

    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;
        }
    }

  • 相关阅读:
    七牛上传图片视频demo
    JavaScript数组及相关方法
    Math对象产生随机数一个小应用
    JavaScript 开发进阶:理解 JavaScript 作用域和作用域链
    HTML5 中的meter 标签的样式设置
    jQuery报错:Uncaught ReferenceError: $ is not defined
    每次打开office 2013都提示配置进度,必须得等他下完然后重启,重启完了在打开,还是提示配置进度,怎么解决
    CSS小技巧收藏
    DOM中元素节点、属性节点、文本节点的理解13.3
    (转)如果知道dll文件是面向32位系统还是面向64位系统的?
  • 原文地址:https://www.cnblogs.com/jifeng/p/1932147.html
Copyright © 2011-2022 走看看