java后台调用url
版权声明:本文为博主牟云飞原创文章,未经博主同意不得转载。 https://blog.csdn.net/myfmyfmyfmyf/article/details/32690757
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的更多相关文章
- java后台调用url无协议
url格式不正确,可能有"www.baidu.com" "这个不能有 // 下载pdf public void downpdf(String URL, String ...
- 获取ip ,百度地图坐标点 和 在 后台调用 url()
protected void getip() { string ips = HttpContext.Current.Request.UserHostA ...
- 解决Jsp与Java后台之间url传值中文乱码问题
JSP页面中,由JavaScript拼接url时,对于中文名称变量应该加上encodeURIComponent方法,对中文进行十六进制编码. 例如: url = /com/xxx/B.jsp?chin ...
- java后台调用HttpURLConnection类模拟浏览器请求(一般用于接口调用)
项目开发中难免遇到外部接口的调用,小生今天初次接触该类,跟着API方法走了一遍,如有不对的地方,还请哆哆指正,拜谢! 1 package com.cplatform.movie.back.test; ...
- Java后台调用gcc编译C语言代码
想做一个能够在线编译代码运行的平台,Java和SQL已经支持了,因为是用Java写的后台,所以Java和SQL挺容易就实现了,做到支持C的时候就卡住了,网上搜了一下这种帖子好像很少. 我采取的办法是就 ...
- java后台调用http请求
1:代码 @Value("${sms.username}") 可以将sms.properties配置文件中的值注入到username //这种方式是将sms.properti ...
- md5签名加密(用于java 后台调用短信平台接口实现发短信)
MD5Util 方法 package com.funcanteen.business.action.pay.util; import java.security.MessageDigest; publ ...
- java后台调用文件上传接口
借鉴:https://blog.csdn.net/yjclsx/article/details/70675057 /** * 调用流程上传文件接口上传文件 * @param url * @param ...
- java后台获取URL带参demo
URL:http://aos.wall.youmi.net/v2/check_fb_sig?order=YM130402cygr_UTb42&app=30996ced018a2a5e& ...
随机推荐
- 使用erlang实现简单的二进制通信协议
最近实现的一种简单的协议以及工具,主要用于客户端服务端通讯传输二进制数据时,协议的解包与封包,具体如下:首先定义协议的格式,主要由三部分组成: 数据长度(数据部分长度+协议号长度):4个 ...
- 【模板/经典题型】带有直线限制的NE Latice Path计数
平移一下,变成不能接触y=x+1. 注意下面的操作(重点) 做点p=(n,m)关于这条直线的对称点q=(m-1,n+1). ans=f(p)-f(q). 其中f(x)为从(0,0)到点x的方案数.
- Python基础--列表、元组
一.什么是列表.元组 序列是Python中最基本的数据结构.序列中的每个元素都分配一个数字 - 它的位置,或索引,第一个索引是0,第二个索引是1,依此类推. Python有6个序列的内置类型,但最常见 ...
- Java进阶资料汇总
Java经过将近20年的发展壮大,框架体系已经丰满俱全:从前端到后台到数据库,从智能终端到大数据都能看到Java的身影,个人感觉做后台进要求越来越高,越来越难. 为什么现在Java程序员越来越难做,一 ...
- Neo4j视频教程 Neo4j 图数据库视频教程
课程名称 课程发布地址 地址: 腾讯课堂<Neo4j 图数据库视频教程> https://ke.qq.com/course/327374?tuin=442d3e14 作者 庞国明,< ...
- 从输入URL到页面加载发生了什么
大体过程 浏览器的地址栏输入URL并按下回车 浏览器检查当前URL是否存在缓存,并比较缓存是否过期 DNS解析URL对应的IP 根据IP建立TCP连接(三次握手) HTTP发起请求 服务器处理请求,浏 ...
- windows下运用批处理实现一键自动开启多个应用
工作时,我每天早上到公司,打开自己的电脑,都会有几个固定的软件(myeclipse,飞信,firefox,foxmail等).文件夹和文件需要打开,每天如此,感到很烦,浪费时间做重复的工作,于是想到一 ...
- python 数据科学
参考资料: https://www.yiibai.com/python_data_science/python_bubble_charts.html
- 对spring 对持久层的支持和数据库连接池的理解
1.spring对持久层的支持在于,得到数据库连接之后操作上的封装,将操作简化了.也就是说以后操作sql语句就用XXXTemplate(就是一个工具类)对象了. 2.数据库连接池的作用只在于得到数据库 ...
- static 关键字介绍
大家都知道,我们可以基于一个类创建多个该类的对象,每个对象都拥有自己的成员,互相独立.然而在某些时候,我们更希望该类所有的对象共享同一个成员.此时就是 static 大显身手的时候了!! Java 中 ...