java URL以及UrlConnection使用解析
2012-03-19 09:39
495 查看
/****************************************************************/ //>java URL和Connection使用解析 /****************************************************************/ /****************************************************************/ >0.示例代码 public static void main(String[] args) { try { //要想struts2的表单值天器自动填充就必须使用伪URL传参不管是使用get还是POST //?path=c:/test.xml&test=2012 String spec = "http://localhost:8080/testRRC/solrIndex/testAction!test"; URL url = new URL(spec); System.out.println(url); HttpURLConnection conn = (HttpURLConnection) url.openConnection(); conn.setRequestMethod("GET"); conn.setDoInput(true); conn.setDoOutput(true); conn.setInstanceFollowRedirects(true); conn.setRequestProperty("content-type", "text/html"); conn.connect();// 握手 OutputStream os = conn.getOutputStream();// 拿到输出流 // os.write("?path=c:/test.xml&test=2012".getBytes("utf-8")); PrintWriter out = new PrintWriter(os); out.print("?path=c:/test.xml&test=2012"); out.flush(); os.flush(); out.close(); os.close(); InputStream is = conn.getInputStream();//拿到输入流 InputStreamReader isr = new InputStreamReader(is); BufferedReader br = new BufferedReader(isr); String s = br.readLine(); System.out.println(s); br.close(); isr.close(); is.close(); } catch (Exception e) { e.printStackTrace(); } } /****************************************************************/ /****************************************************************/ >1.不能在URL为传参的时候用的方式(示例代码) /** * 读取配置文件(schema.xml,solrconfig.xml内容) * @param json * @return */ public JSONObject editSchema(JSONObject json){ solrLog.info("query data="+json); JSONObject object=new JSONObject(); boolean flag=true; String error=""; URL url; try { JSONObject shardJSON=new JSONObject(json.getString("shard")); url = new URL("http://localhost:8080/patIndexManager/schemaEdit.action"); HttpURLConnection conn=(HttpURLConnection)url.openConnection(); conn.setRequestMethod("POST"); conn.setDoInput(true); conn.setDoOutput(true); conn.setRequestProperty("connection", "Keep-Alive"); conn.setRequestProperty("Charsert", "UTF-8"); conn.setInstanceFollowRedirects(true); conn.setRequestProperty("Content-Type","application/x-www-form-urlencoded"); conn.connect(); //注意这里需要用缓存写入器进行写入不然到另外一端收不到 //BufferedWriter out = new BufferedWriter(new OutputStreamWriter( //conn.getOutputStream(), "utf-8")); //out.write("data="+json); out.flush(); out.close(); InputStream is=conn.getInputStream(); InputStreamReader reader=new InputStreamReader(is,"utf-8"); String jsonStr=""; int r=0; while((r=reader.read())!=-1){ jsonStr+=(char)r; } object.put("result",jsonStr); is.close(); reader.close(); }catch (Exception e){ flag=false; solrLog.error("IOException",e); error="连接服务器失败"; } try { object.put("success", flag); object.put("error", error); } catch (JSONException e){ } return object; } /****************************************************************/
相关文章推荐
- java clone()方法使用解析以及深/浅拷贝
- java中的URLConnection和HttpURLConnection的使用
- 在VS.NET2005中使用java代码段以及SOL文件格式的解析
- JAVA使用jsoup技术实现网站URL解析爬取|爬取网站登陆后页面动态数据
- java 多线程下载文件 以及URLConnection和HttpURLConnection的区别
- QRCode-使用Java生成以及解析二维码
- Java实现多线程下载 URL以及URLConnection
- java ajax 请求后获取 json 数据 以及 使用 解析 ,解惑
- json数据解析与JAVA对象转换以及在JQUERY中的使用
- java中URL,URLConnection,HttPURLConnection的使用
- 使用Java对UTF8URL进行编码解码以及进行编码方式的判断
- 解析Java中未被捕获的异常以及try语句的嵌套使用
- 使用Java解析svg文件,以及将获取的Element转换成String
- java 使用Jsoup解析URL网页信息
- java JDK 动态代理(如何使用,以及工作原理解析)
- java网络编程客户端与服务端原理以及用URL解析HTTP协议
- 关于java response的两种页面输出方式,以及HttpUrlconnection 代理使用注意点
- 安卓使用Gson解析服务器返回Json数组,以及java服务器怎样返回list集合的Json数据(原创)
- 使用URL以及URLConnection从网上下载bitmap
- java使用HttpURLConnection和HttpClient分别模拟get和post请求以及操作cookies