A. 如何使用post请求发送xml数据 csdn
所以我一直跑在发送 XML 与邮政从 iPhone 应用程序-到目前为止,运气不好的事搜索 web 一遍遍无 !
我在我的应用程序 KissXML,我发现非常简单和有用当它来到出去 XML 响应-但相当对面将 XML 发送到服务器时使用的......这里是我的连接和接收 XML 的方法。我试着把 NSString 包含只需我的 XML 请求进入身体的 POST 请求,但它不会工作按计划进行。
-(void)prepareTransaction{
NSLog(@"FXSecondVC: preparing transaction...");
NSString *login = [[NSUserDefaults standardUserDefaults] stringForKey:@"kUsername"];
NSString *password = [[NSUserDefaults standardUserDefaults] stringForKey:@"kPassword"];
NSString *host = [[NSUserDefaults standardUserDefaults] stringForKey:@"kURLServer"];
NSURL *url = [[NSURL alloc] initWithString:host];
AFHTTPClient *httpClient = [[AFHTTPClient alloc] initWithBaseURL:url];
[httpClient :login password:password];
[httpClient registerHTTPOperationClass:[AFKissXMLRequestOperation class]];
B. java代码发送post请求,并接收xml文件。。。 发送请求时要带参数
用ajax来发送,ajax返回的就是xml或者json.
C. JAVA POST xml请求
是的,就是将你的xml文本内容写出去就好了,接收端接收到后解析xml 以取得参数名及值
D. JAVA以POST方式提交XML获取返回值(返回格式为XML)
URL url = new URL(requestUrl);
HttpsURLConnection httpUrlConn = (HttpsURLConnection) url.openConnection();
httpUrlConn.setRequestMethod(“POST”);
OutputStream outputStream = httpUrlConn.getOutputStream();
outputStream.write(xml);
outputStream.close();
InputStream inputStream = httpUrlConn.getInputStream();
InputStreamReader inputStreamReader = new InputStreamReader(inputStream);
BufferedReader bufferedReader = new BufferedReader(inputStreamReader);
String str = null;
while ((str = bufferedReader.readLine()) != null) {
buffer.append(str);
}
bufferedReader.close();
inputStreamReader.close();
// 释放资源
inputStream.close();
inputStream = null;
httpUrlConn.disconnect();
E. Java实现一个HTTP基于xml的post请求 如何在struts2 action获取
//用户名校验方法
//这个方法是用XMLHTTPRequest对象进行异步数据交互
var xmlhttp;
function verify(){
//alert(xmlhttp.readyState);
//×××××××××readyState变更0.1.2.3.4
//1.使用dom的方式获取文本框中的值
//是dom中获取元素节点的一种方法一个元素节点对应hrml中的一个标签,如果<input>.value可以获得一个元素节点的value属性值
//注意取值.value;否则前台取不到本想取到的值
var userName = document.getElementById("userName").value;
//2.创建xmlhttpRequest对象
//需要针对不同浏览器建立不同的代码
//Window.XMLHttpRequest尽量放置在window.ActiveXObject之前
if(window.XMLHttpRequest){
//针对firefox,mozillar,opera,safari,ie7,ie8
xmlhttp = new XMLHttpRequest();
//修正mozillar浏览器的bug语句
if (xmlhttp.overrideMimeType){
xmlhttp.overrideMimeType("text/xml");
}
}else if(window.ActiveXObject){
//针对的是ie6,ie5.5,ie5
//两个可以用于创建XMLHTTPRequset对象的控件名称,保存在一个js的数组中
//排在前面的版本较新
var activexName = ["MSXML2.XMLHTTP","Microsoft.XMLHTTP"];
for (var i = 0;i<activexName.length;i++){
try{
//取出一个控件的名进行创建,如果创建成功就停止循环
//如果创建失败,会抛出异常,然后可以继续循环,继续尝试创建
xmlhttp = new ActiveXObject(activexName[i]);
break;
}catch(e){
}
}
//确认XMLHTTPRequest对象创建成功
}
if (!xmlhttp){
alert("XMLHttpRequest对象创建失败!!");
return;
}else{
alert("xmlhttp");
}
//2.注册回调函数
//注册回调函数时候,只需要函数名,不要加括号
xmlhttp.onreadystatechange = callback;
////3.设置链接信息
////第一个参数表示http的请求方式,支持所有的http请求方式,主要使用个体和post方法
////第二个参数表示请求的url地址,get方式请求的参数也在url中
////第三个参数表示采用异步还是同步交互方式,true表示异步
//xmlhttp.open("GET","AJAXXMLServer?name=" + userName,true);
//post请求方式的代码
xmlhttp.open("POST","AJAXXMLServer",true);
//post方式需要自己设置http请求头
xmlhttp.setRequestHeader("Content-Tpye","application/x-www-form-urlencoded");
//post方式发送数据
xmlhttp.send("name= " + userName);
////4.发送数据,开始和服务器端进行交互
////同步方式下,send这句话在服务器端数据回来后才执行
////异步方式下,send这句话会立即完成执行
////get方式下的要发送数据都已经在url中了。因此不需要在词单独send内容了
//xmlhttp.send(null);
}
//回调函数
function callback(){
//5.接收响应数据
//判断对象的状态是交互完成的即为4
if (xmlhttp.readyState == 4){
//判断http的交互是否成功
if (xmlhttp.status == 200){
//使用responseXML的方式来接受xml数据的dom对象
var domObj = xmlhttp.responseXML;
//<message>是文本信息</message>
//dom利用getElementsByTagName可以根据标签来获取元素节点。返回的是一个数组
var messageNodes = domObj.getElementsByTagName("message");
if (messageNodes.length > 0){
//获取message节点中的文本内容
//注:无效取值用法:::var responseMessage = messageNodes[0].innerHTML;
//首先messaNodes[0]获取的的是message标签所获取的文本信息,即元素节点。
//message标签中的文本在dom中是message标签所对应的元素节点的子节点,firstChild可以获取当前节点的第一个子节点
//通过以下方式就可以获取到文本内容多对应的节点
var textNode = messageNodes[0].firstChild;
//对于文本节点来说,可以通过nodeValue的方式返回文本节点的文本内容
var responseMessage = textNode.nodeValue;
alert("-----------------");
//将数据显示在页面上
//通过dom的方式找到div标签所对应的元素节点
var divNode = document.getElementById("result");
//alert(divNode);
//设置元素节点中的html内容
divNode.innerHTML = responseMessage;
}else{
alert("XML数据格式错误,原始文本内容为"+ xmlhttp.responseText);
}
}else{
alert("出错了!");
}
}
}
这样返回的是一个数据,你看看对你修改成返回文件有没有用
F. 本地模拟发送post请求,XML该怎么传
需要导入dom4j.jar
importjava.io.BufferedOutputStream;
importjava.io.ByteArrayOutputStream;
importjava.io.DataInputStream;
importjava.io.IOException;
importjava.io.UnsupportedEncodingException;
importjava.net.URL;
importjava.net.URLConnection;
importorg.dom4j.Document;
importorg.dom4j.DocumentHelper;
importorg.dom4j.Element;
importorg.dom4j.io.OutputFormat;
importorg.dom4j.io.XMLWriter;
publicclassTest0{
/**
*创建XML格式报文
*
*@return
*/
publicDocumentbulidContent(){
//模拟jsp格式新建xml
Documentdoc=DocumentHelper.createDocument();//创建一个document对象
Elemente1=doc.addElement("HTML");//创建一个html标签
Elemente2=e1.addElement("HEAD");//在html标签下创建一个head标签
Elemente3=e2.addElement("title");//在head标签下创建一个title标签
e3.setText("xml测试");//title标签内容为"xml测试"
Elemente4=e1.addElement("BODY");//在html标签下创建一个body标签
Elemente5=e4.addElement("div");//在BODY标签下创建一个div标签
e5.setText("第一个div");//div内容为"第一个div"
e5=e4.addElement("div2");//在BODY标签下创建一个div标签(第一个div后面,标签名为div2)
//以下相同
e5.setText("第2个div");
e5=e4.addElement("table");
e5.setText("第一个table");
returndoc;
}
/**
*解析XML
*
*@paramdoc
*@return
*/
publicStringAnalysisXML(Documentdoc){
//使用流的方式解析
Stringcontent="";
try{
ByteArrayOutputStreamout=newByteArrayOutputStream();
OutputFormatformat=OutputFormat.createPrettyPrint();
format.setEncoding("GBK");
XMLWriterwriter=newXMLWriter(out,format);
writer.write(doc);
content=out.toString("GBK");
System.out.println(content);
}catch(UnsupportedEncodingExceptione){
e.printStackTrace();
}catch(IOExceptione){
e.printStackTrace();
}
returncontent;
}
/**
*发送请求
*
*@paramSendUrl
*请求URL
*@paramxmlData
*发送XML报文
*@return
*@throwsException
*/
publicstaticStringsendData(StringSendUrl,StringxmlData)
throwsException{
StringSERVER_URL=SendUrl;
URLuploadServlet=newURL(SERVER_URL);
=uploadServlet.openConnection();
servletConnection.setUseCaches(false);
servletConnection.setDoOutput(true);
servletConnection.setDoInput(true);
BufferedOutputStreamoutput=newBufferedOutputStream(servletConnection.getOutputStream());
output.write(xmlData.getBytes("GBK"));
output.close();
try{
DataInputStreaminput=newDataInputStream(servletConnection.getInputStream());
ByteArrayOutputStreambyteOut=newByteArrayOutputStream();
byte[]buffer=newbyte[8192];
inti=0;
while((i=input.read(buffer))!=-1){
byteOut.write(buffer,0,i);
}
StringdataString=newString(byteOut.toByteArray(),"GBK");
input.close();
returndataString;
}catch(Exceptione){
System.out.println("数据已经发送,但没有返回结果!");
e.printStackTrace();
throwe;
}
}
}
G. java中怎么在web.xml中处理post请求乱码问题
处理的办法太多了,觉得你的出发点错了,你的先判断出出现乱码的原因是啥
出现乱码的地方和原因有很多种,最重要的一种就是字符编码格式不统一导致的,然后你就得看哪里转换的时候不一致,然后再调整。。。
H. java用http协议post请求发送xml文件 怎么都是请求失败 谁能给个demo我么
你的代码是如何的、报什么错,,,,,,,环境有什么要求的呢
I. 在java中如何实现http/post/xml发送数据报文麻烦高手赐教!
stringBuilder拼接成一个XML字符串。然后调用HTTP类访问一个SERVLET,(具体HTTP类我记不清楚了。你们应用里如果有人开发过。你可以抄一抄),之后会获得一个返回流,这个流就是XML。再使用DOM4J或者JDOM解析。