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& ...
随机推荐
- node搭建本地服务器
随着前端不断发展,node基本已经成为必备,在调试的时候经常需要服务器,在之前的做法通常是去下载一个phpstudy 或者 xampp等启动一个服务,作为一个前端人虽然可以借助各种工具,但是怎么能不懂 ...
- Oracle11g温习-第一章:Oracle 体系架构
2013年4月27日 星期六 10:20 1.oracle 网络架构及应用环境 1. ORACLE 实例——包括内存结构与后台进程 2. ORACLE 数据库——物理操作系统文件的集合 3. 了解内存 ...
- pytorch人脸识别——自己制作数据集
这是一篇面向新手的博文:因为本人也是新手,记录一下自己在做这个项目遇到的大大小小的坑. 按照下面的例子写就好了 import torch as t from torch.utils import da ...
- h5请求跨域问题Access-Control-Allow-Origin解决跨域
访问后端接口报错:No 'Access-Control-Allow-Origin' header is present on the requested resource 解决: Access-Con ...
- ORACLE11G内存管理参数
今天,对ORACLE11G的几个内存参数看了一下,记录如下,大家可以参考: 1.首先,在ORACLE11G的INIT.ORA里,有“__”开头的参数,也就是以两个下划线开头的参数,这种参数应该是系统自 ...
- SQL Server 调优系列进阶篇 - 深入剖析统计信息
前言 经过前几篇的分析,其实大体已经初窥到SQL Server统计信息的重要性了,所以本篇就要祭出这个神器了. 该篇内容会很长,坐好板凳,瓜子零食之类... 不废话,进正题 技术准备 数据库版本为SQ ...
- Fragment利用ViewPager实现左右滑动--第三方开源--SlidingTabLayout和SlidingTabStrip实现
MainActivity: package com.zzw.fragmentteb; import java.util.ArrayList; import android.graphics.Color ...
- onedriver -1T容量,edu邮箱申请。
https://www.cccs.edu/ Apply申请 以前申请过这个红石社区大学. 创建帐号 自己翻译一下填填吧. 注册完,进入My Account,下面会有 2,点进去,也是注册. 3,点进去 ...
- Java——IO类 字符流概述
body, table{font-family: 微软雅黑} table{border-collapse: collapse; border: solid gray; border-width: 2p ...
- SharePoint 数据库管理-PowerShell
1. 显示所有SharePoint数据库 Get-SPDatabase –ServerInstance "SP2010\SQLSharePoint" 2. 获取指定的数据库 $da ...