博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java中http编程利用post、get与服务器交互Android按钮单击事件的四种写法
阅读量:4941 次
发布时间:2019-06-11

本文共 3418 字,大约阅读时间需要 11 分钟。

import java.io.ByteArrayOutputStream;import java.io.File;import java.io.FileOutputStream;import java.io.IOException;import java.io.InputStream;import java.net.HttpURLConnection;import java.net.URL;import java.net.URLEncoder;import java.text.SimpleDateFormat;import java.util.Date;import java.util.Map;public class HttpUtils {    /*     * 打开链接,确定连接;     * */    public static HttpURLConnection conn(String path,String method) throws IOException{                URL url = new URL(path);        HttpURLConnection con = (HttpURLConnection)url.openConnection();//打开连接                con.setRequestMethod(method);        con.setConnectTimeout(50000);        con.setDoOutput(true);        con.setDoInput(true);        con.setRequestProperty("apikey", "db3c2b8c6a66509b6ee353d2dc09eea1");        con.connect();        if(con.getResponseCode()==200){            return con;        }        return null;    }    /*     * get或post请求获取服务器图片     * */    public static File connImg(String path,String method) throws IOException{        File file = new File(""+new SimpleDateFormat("yyyyMMdd").format(new Date().getTime()));        File f = new File(file,""+new Date().getTime()+"."+path.substring(path.lastIndexOf(".")+1));        if(!file.exists()){            file.mkdirs();        }        if(conn(path,method) instanceof HttpURLConnection){            HttpURLConnection con = conn(path,method);            InputStream is = con.getInputStream();            FileOutputStream fos = new FileOutputStream(f);            byte[] b = new byte[1024];            int l = is.read(b);            while(l!=-1){                fos.write(b, 0, l);                l = is.read(b);            }            is.close();            fos.close();        }        return f;    }        /*     * get或post抓取服务器数据     * */    public static String connData(String path,String method) throws IOException{        String str=null;        if(conn(path,method) instanceof HttpURLConnection){            HttpURLConnection con = conn(path,method);                        InputStream is = con.getInputStream();            ByteArrayOutputStream baos = new ByteArrayOutputStream();            byte[] b = new byte[1024];            int l = is.read(b);            while(l!=-1){                baos.write(b, 0, l);                l = is.read(b);            }            str = new String(baos.toByteArray(),"UTF-8");        }        return str;    }            /*     * get或post提交数据并接受服务器的返回值     * */        public static String connRequest(String path,String method,Map
para) throws IOException{ String s=null; StringBuilder sb = new StringBuilder(); for(Map.Entry
me:para.entrySet()){ sb.append(me.getKey()+"="+URLEncoder.encode(me.getValue(),"UTF-8")+"&"); } sb.deleteCharAt(sb.length()-1); path=path+"?"+sb; if(conn(path,method) instanceof HttpURLConnection){ HttpURLConnection con = conn(path,method); InputStream is = con.getInputStream(); byte[] b = new byte[1024]; ByteArrayOutputStream baos = new ByteArrayOutputStream(); int l = is.read(b); while(l!=-1){ baos.write(b, 0, l); l=is.read(b); } s = new String(baos.toByteArray(),"UTF-8"); } return s; }}

转载于:https://www.cnblogs.com/wmkill/articles/4965030.html

你可能感兴趣的文章
启动项目时出现java.io.EOFException异常。
查看>>
php 数据处理--合并,拆分,追加,去重
查看>>
AX2012 学习自动生成编码
查看>>
JAVA获取服务器路径的方法
查看>>
安装Jaspersoft Studio
查看>>
友盟消息推送UPush
查看>>
关于kinect的一些想法
查看>>
工作的时候 用到了 获取时间 DateTime 整理了一下
查看>>
微信公众号开发 [04] 模板消息功能的开发
查看>>
第七章 consul docker集群
查看>>
数据库分库分表
查看>>
一个可以参考的JVM内存分配
查看>>
解决页面<textarea>初始焦点显示位置不正确的问题
查看>>
Caffe2的安装
查看>>
山东济南站见面会完美收官
查看>>
[LeetCode] 33. Search in Rotated Sorted Array
查看>>
LightOJ - 1032 数位DP
查看>>
np.array()和np.mat()区别
查看>>
用汉堡包的方式评价一下自己的合作伙伴
查看>>
P1550 [USACO08OCT]打井Watering Hole
查看>>