java后台调用url

         QXOutStream  outPut= new QXOutStream();
         qxWorkSheetXML.append("<?xml version=\"1.0\" encoding=\"UTF-8\"?>");
	qxWorkSheetXML.append("<ROOT><ROW>");
	qxWorkSheetXML.append("<REPORT_MAN>"+call_man+"</REPORT_MAN>");
	qxWorkSheetXML.append("<ACCEPT_TIME>"+call_time+"</ACCEPT_TIME>");
	qxWorkSheetXML.append("<CUSTOMER_CODE>"+workSheetNo+"</CUSTOMER_CODE>");
	qxWorkSheetXML.append("<PHONE>"+call_no+"</PHONE>");
	qxWorkSheetXML.append("<DEAL_DATE>"+deadLine+"</DEAL_DATE>");
	qxWorkSheetXML.append("</ROW></ROOT>");

	returnStr=outPut.outPutStr(urlStr, qxWorkSheetXML.toString());
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
import java.nio.charset.Charset;
import XmlHelper;

public class QXOutStream {
	public String outPutStr(String urlStr, String input) throws Exception{
		StringBuffer strBuf = new StringBuffer();
		String Resulst="";
		try{
			URL url = new URL(urlStr);
			HttpURLConnection con = (HttpURLConnection)url.openConnection();
			con.setDoInput(true);
			con.setDoOutput(true);
			con.setRequestMethod("POST");
			con.setAllowUserInteraction(false);
			con.setUseCaches(false);
			con.setRequestProperty("Accept-Charset", "GBK");
			BufferedOutputStream bufOutPut = new BufferedOutputStream(con.getOutputStream());

			byte[] bdat = input.getBytes("UTF-8");//解决中文乱码问题
	        bufOutPut.write(bdat, 0, bdat.length);
			bufOutPut.flush();
			BufferedInputStream inp = new BufferedInputStream(con.getInputStream());
			InputStreamReader in = new InputStreamReader(inp,Charset.forName("GBK"));
			BufferedReader bufReador = new BufferedReader(in);

			String tempStr = "";
			while (tempStr != null) {
				strBuf.append(tempStr);
				tempStr = bufReador.readLine();

			}
			Resulst = XmlHelper.getPostNodeText(strBuf.toString(), "OPERATOR_RESULT");//.getPostFirstRowText(strBuf.toString(), "OPERATOR_RESULT");

		}
		catch (Exception e) {
			//System.err.println("Exception:"+e.toString());
			throw e;
			//return "N";
		}
		finally{
			return Resulst;
		}

	}
}
import java.io.InputStream;
import java.net.URL;
import java.net.URLConnection;

import javax.xml.transform.TransformerException;

import org.apache.log4j.Logger;
import org.w3c.dom.Attr;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;

import com.sun.org.apache.xpath.internal.XPathAPI;

/**
 * 处理XML的封装类
  */
public abstract class XmlHelper {
	private XmlHelper() {
	}

	private static SimpleXmlParser parser = new SimpleXmlParser();

	private static Logger logger = Logger.getLogger(XmlHelper.class.getName());

	public static Document getDocument(String xmlStr) throws Exception {
		try {
			return parser.parseXml(xmlStr);
		} catch (Exception ex) {
			logger.error("得到Document出错-->", ex);
			throw ex;
		}
	}

	public static Document getDocumentFormStream(InputStream s)
			throws Exception {
		try {
			Document doc = parser.parse(s);
			return doc;
		} catch (Exception ex) {
			logger.error("从文件流中得到Document出现错误,错误为-->", ex);
			throw ex;
		}
	}

	public static Document getDocumentFormFile(String url) {
		try {
			URL u = new URL(url);
			URLConnection connection = u.openConnection();
			connection.setDoInput(true);
			connection.setUseCaches(false);
			Document doc = parser.parse(url);
			connection.getInputStream().close();
			return doc;
		} catch (Exception ex) {
			logger.info("从url中取得数据出错,错误为-->", ex);
		}
		return null;
	}

	public static NodeList selectNodeList(Node node, String xpath)
			throws TransformerException {
		try {
			return XPathAPI.selectNodeList(node, xpath);
		} catch (TransformerException ex) {
			logger.error("得到xml节点队列出错-->", ex);
			throw ex;
		}
	}

	public static Node selectSingleNode(Node node, String xpath)
			throws TransformerException {
		try {
			return XPathAPI.selectSingleNode(node, xpath);
		} catch (TransformerException ex) {
			logger.error("得到单一的xml节点出错-->", ex);
			throw ex;
		}
	}

	public static Node selectNode(Node node, String xpath) {
		for (int i = 0; i < node.getChildNodes().getLength(); i++) {
			Node childNode = node.getChildNodes().item(i);
			if (childNode.getNodeType() == Node.ELEMENT_NODE
					&& childNode.getNodeName().equals(xpath))
				return childNode;
		}
		return null;
	}

	public static Attr getAttribute(Node node, String attName) {
		return (Attr) node.getAttributes().getNamedItem(attName);
	}

	public static String getNodeText(Node node) {
		for (int i = 0; i < node.getChildNodes().getLength(); i++) {
			if (node.getChildNodes().item(i).getNodeType() == Node.TEXT_NODE)
				return node.getChildNodes().item(i).getNodeValue();
		}
		return null;
	}

	public static String getPostNodeText(String postString, String nodeName) {
		try {
			Document doc = getDocument(postString);
			Element root = doc.getDocumentElement();
			NodeList list = root.getChildNodes();

			for (int i = 0; i < list.getLength(); i++) {
				Node node = list.item(i);
				if (node.getNodeType() == Node.ELEMENT_NODE) {
					logger.debug("node:" + node.getNodeType() + ","
							+ node.getNodeName());
					if (node.getNodeName().equals(nodeName))
						return getNodeText(node);
				}
			}
		} catch (Exception ex) {
			logger.error("从post信息中得到xml解析数据出错-->", ex);
		}
		return null;
	}

	public static String getPostFirstRowText(String postString, String nodeName) {
		try {
			return XmlHelperJdom.getFirstRowData(postString, nodeName);
		} catch (Exception ex) {
			logger.error("从post的第一行数据中得到xml解析数据出错-->", ex);
		}
		return null;
	}

	/*
	 * 添加一个节点,并且设置其text
	 */
	public static org.dom4j.Element addElementAndSetValue(
			org.dom4j.Element parent, String name, String value) {
		if (null == name)
			return null;
		org.dom4j.Element e = parent.addElement(name);
		if (null == value) {
			value = "";
		}
		e.setText(value);
		return e;
	}
}

java后台调用url,布布扣,bubuko.com

时间: 2024-10-01 07:07:46

java后台调用url的相关文章

java后台访问url连接——HttpClients

java后台访问url,并传递数据--通过httpclient方式 需要的包,包可能多几个额外的,如果无用或者冲突删除即可,httpclient是使用的是4.4.1的版本:http://download.csdn.net/detail/myfmyfmyfmyf/8894191 1.无参数传递,以微信开发为例,后台访问url连接获得全部的人员列表 /** * 获取全部人员列表 * @return */ public JSONObject getAllEmployee(){ //获取微信号 Stri

java后台调用自定义arctoolbox(开发的程序放到tomcat容器运行)

写在前面: 前一段时间测试了普通 java 工程调用 ArcObject 10.5(下文简称AO)的功能,主要想在程序调用自定义arctoolbox模型,完成一些功能,在将该功能转换成web工程时,出现一些问题,现将解决方式记录下来,以备将来查阅. 1.开发环境: ArcGIS 10.5,myeclipse 2014, jdk 1.8 32位,tomcat 8.5 32位,spring.spring mvc 4.3等 环境安装与配置,在些不在赘述. 有关 AO 开发的知识,也不在赘述. 2.问题

java后台调用HttpURLConnection类模拟浏览器请求(一般用于接口调用)

项目开发中难免遇到外部接口的调用,小生今天初次接触该类,跟着API方法走了一遍,如有不对的地方,还请哆哆指正,拜谢! 1 package com.cplatform.movie.back.test; 2 3 import java.io.BufferedReader; 4 import java.io.DataOutputStream; 5 import java.io.InputStreamReader; 6 import java.net.HttpURLConnection; 7 impor

java后台 调用接口post参数实例

public static String sendPost(String url, String param) { PrintWriter out = null; BufferedReader in = null; String result = ""; try { URL realUrl = new URL(url); // 打开和URL之间的连接 URLConnection conn = realUrl.openConnection(); // 设置通用的请求属性 conn.set

java调用url的两种方式

一.在java中调用url,并打开一个新的窗口 Java代码   String url="http://10.58.2.131:8088/spesBiz/test1.jsp"; String cmd = "cmd.exe /c start " + url; try { Process proc = Runtime.getRuntime().exec(cmd); proc.waitFor(); } catch (Exception e) { e.printStackT

【新技术】现在最流行的java后台框架组合java springmvc mybaits mysql oracle html5 后台框架源码

升级报捷:通过服务于服务之间调用,生成二维码,可直接用户手机app(详细查看截图) 框架集成lucene搜索引擎,使您的信息在毫秒内抓取(详细查看截图) 1.  创建.初始化索引.统一搜索入口.搜索结果展现--内容.标题高亮.关键词搜索 2.  高级搜索:高级搜索增加多入口查询(精确查询.模糊查询.前缀查询等),每页显示条数自定义.索引结果数据设置.选择索引文档类型等 3. 通过A系统调用B系统的Rest服务,生成相关的二维码,可以直接用户手机app ----------------------

Java 后台模拟POST上传

后台模拟POST上传整合 简介:Java后台模拟post请求,发送参数以及上传文件等方式,适用有些公众API接口的调用. 发送请求 后台 package org.lives.platform.upload.utils; import java.io.BufferedReader; import java.io.DataInputStream; import java.io.DataOutputStream; import java.io.File; import java.io.FileInpu

android 集成支付宝app支付(原生态)-包括android前端与java后台

本文讲解了 android开发的原生态app集成了支付宝支付, 还提供了java后台服务器处理支付宝支付的加密代码, app前端与java后台服务器使用json数据格式交互信息,java后台服务主要用来对支付数据进行加密和接受支付宝服务器的回调 注意: 本文即涉及到 android前端, 也涉及到 Java后台 准备条件: 到支付宝官网上注册用户, 打开开放平台,支付宝默认生成沙箱环境,用来测试支付流程 安装Android Studio[下载], 安装 Eclipse mars  [下载],  

微信小程序:java后台获取openId

一.功能描述 openId是某个微信账户对应某个小程序或者公众号的唯一标识,但openId必须经过后台解密才能获取(之前实现过前台解密,可是由于微信小程序的种种限制,前台解密无法在小程序发布后使用) 二.实现流程 1. 获取微信用户的登录信息: 2. 将encryptedData中的数据作为参数传给java后台 3. java后台进行解密 三.代码实现 1. 后台的解密代码 1 /** 2 * decoding encrypted data to get openid 3 * 4 * @para