导航:首页 > 编程语言 > java获取post数据

java获取post数据

发布时间:2023-08-21 09:11:05

1. 如何用java通过POST方法向HTTP接口传递数据

这是corejava2的例子x0dx0aURLConnectionconnection=url.openConnection();//url为http服务器地址x0dx0aconnection.setDoOutput(true);x0dx0aPrintWriteroutx0dx0a=newPrintWriter(connection.getOutputStream());//获得输出流x0dx0a//向服务器传递参数x0dx0aEnumerationenum=nameValuePairs.keys();x0dx0awhile(enum.hasMoreElements())x0dx0a{Stringname=(String)enum.nextElement();x0dx0aStringvalue=nameValuePairs.getProperty(name);x0dx0acharch;x0dx0aif(enum.hasMoreElements())ch='&'elsech='\n'x0dx0aout.print(name+"="x0dx0a+URLEncoder.encode(value)+ch);x0dx0aSystem.out.println(name+value);x0dx0a}x0dx0ax0dx0aout.close();x0dx0a//获取输入流x0dx0aBufferedReaderin;x0dx0atryx0dx0a{in=newBufferedReader(newx0dx0aInputStreamReader(connection.getInputStream()));x0dx0a}x0dx0acatch()x0dx0a{InputStreamerrx0dx0a=((HttpURLConnection)connection).getErrorStream();x0dx0aif(err==null)throwexception;x0dx0ain=newBufferedReader(newInputStreamReader(err));x0dx0a}x0dx0aStringBufferresponse=newStringBuffer();x0dx0aStringline;x0dx0a//读取数据x0dx0awhile((line=in.readLine())!=null)x0dx0aresponse.append(line+"\n");x0dx0ax0dx0ain.close();x0dx0areturnresponse.toString();x0dx0a}x0dx0a}

2. java程序如何获取POST方式提交的数据

你好,你说的是html或jsp中的表单向服务器中提交请求吧,在Servlet中,你可以直接使用request.getParamter("参数名称") ;就可以接收到对应的参数了。

3. 微信支付成功后返回postData xml 用户信息java怎么获取

java有dom4j 去解析xml。


publicstaticMap<String,String>parseXml(HttpServletRequestrequest)
throwsException{
//解析结果存储在HashMap
Map<String,String>map=newHashMap<String,String>();
InputStreaminputStream=request.getInputStream();
//读取输入流
SAXReaderreader=newSAXReader();
Documentdocument=reader.read(inputStream);
//得到xml根元素
Elementroot=document.getRootElement();
//得到根元素的所有子节点
List<Element>elementList=root.elements();

//遍历所有子节点
for(Elemente:elementList)
map.put(e.getName(),e.getText());

//释放资源
inputStream.close();
inputStream=null;

returnmap;
}

后面取值不用我写了把。Map类型

4. java如何接收无参数名的post数据

怎么会没有参数名字呢,
post 提交的时候,
是有参数的,不过他不是在url地址的后面

而是http协议把它规坦掘定了在http 头之后码信贺,在头里面,会指定内容的长度,
然后头完了。会空一行。接着写 内容。

java当然可以实现这个功能迟派。
这要用到xml,对http协议进行解析,

5. 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("出错了!");
}
}

}

这样返回的是一个数据,你看看对你修改成返回文件有没有用

6. Java请求一个URL。获取网站返回的数据。通过POST请求

packagewzh.Http;

importjava.io.BufferedReader;
importjava.io.IOException;
importjava.io.InputStreamReader;
importjava.io.PrintWriter;
importjava.net.URL;
importjava.net.URLConnection;
importjava.util.List;
importjava.util.Map;

publicclassHttpRequest{
/**
*向指定URL发送GET方法的请求
*
*@paramurl
*发送请求的URL
*@paramparam
*请求参数,请求参数应该是name1=value1&name2=value2的形式。
*@returnURL所代表远程资源的响应结果
*/
publicstaticStringsendGet(Stringurl,Stringparam){
Stringresult="";
BufferedReaderin=null;
try{
StringurlNameString=url+"?"+param;
URLrealUrl=newURL(urlNameString);
//打开和URL之间的连接
URLConnectionconnection=realUrl.openConnection();
//设置通用的请求属性
connection.setRequestProperty("accept","*/*");
connection.setRequestProperty("connection","Keep-Alive");
connection.setRequestProperty("user-agent",
"Mozilla/4.0(compatible;MSIE6.0;WindowsNT5.1;SV1)");
//建立实际的连接
connection.connect();
//获取所有响应头字段
Map<String,List<String>>map=connection.getHeaderFields();
//遍历所有的响应头字段
for(Stringkey:map.keySet()){
System.out.println(key+"--->"+map.get(key));
}
//定义BufferedReader输入流来读取URL的响应
in=newBufferedReader(newInputStreamReader(
connection.getInputStream()));
Stringline;
while((line=in.readLine())!=null){
result+=line;
}
}catch(Exceptione){
System.out.println("发送GET请求出现异常!"+e);
e.printStackTrace();
}
//使用finally块来关闭输入流
finally{
try{
if(in!=null){
in.close();
}
}catch(Exceptione2){
e2.printStackTrace();
}
}
returnresult;
}

/**
*向指定URL发送POST方法的请求
*
*@paramurl
*发送请求的URL
*@paramparam
*请求参数,请求参数应该是name1=value1&name2=value2的形式。
*@return所代表远程资源的响应结果
*/
publicstaticStringsendPost(Stringurl,Stringparam){
PrintWriterout=null;
BufferedReaderin=null;
Stringresult="";
try{
URLrealUrl=newURL(url);
//打开和URL之间的连接
URLConnectionconn=realUrl.openConnection();
//设置通用的请求属性
conn.setRequestProperty("accept","*/*");
conn.setRequestProperty("connection","Keep-Alive");
conn.setRequestProperty("user-agent",
"Mozilla/4.0(compatible;MSIE6.0;WindowsNT5.1;SV1)");
//发送POST请求必须设置如下两行
conn.setDoOutput(true);
conn.setDoInput(true);
//获取URLConnection对象对应的输出流
out=newPrintWriter(conn.getOutputStream());
//发送请求参数
out.print(param);
//flush输出流的缓冲
out.flush();
//定义BufferedReader输入流来读取URL的响应
in=newBufferedReader(
newInputStreamReader(conn.getInputStream()));
Stringline;
while((line=in.readLine())!=null){
result+=line;
}
}catch(Exceptione){
System.out.println("发送POST请求出现异常!"+e);
e.printStackTrace();
}
//使用finally块来关闭输出流、输入流
finally{
try{
if(out!=null){
out.close();
}
if(in!=null){
in.close();
}
}
catch(IOExceptionex){
ex.printStackTrace();
}
}
returnresult;
}
}
//函数调用时填入URL和参数(参数非必须)就可以获取返回的数据,发送post请求调用示例
Stringresult=HttpRequest.sendPost("http://api.map..com/telematics/v3/weather?location=%E5%8C%97%E4%BA%AC&output=json&ak=","")

阅读全文

与java获取post数据相关的资料

热点内容
我的世界187服务器地址ip 浏览:953
拍卖房价的算法 浏览:438
linux内核编译视频教程 浏览:881
程序员厚黑 浏览:187
如何在闲鱼淘二手安卓机 浏览:175
怎么下载晨星app 浏览:132
两台服务器如何同步内容 浏览:808
服务器共用一个ip有什么坏处 浏览:461
go加密exe 浏览:606
pdf改分栏 浏览:123
python执行怎么写 浏览:766
遇见她app怎么加好友 浏览:548
手机怎么设置app强制提醒 浏览:77
怎样不用海绵做解压玩具 浏览:81
为什么远程服务器复制不了文件 浏览:715
打开app闪退怎么回事 浏览:752
bcrpt加密原理 浏览:401
女程序员写的小说 浏览:774
华为路由器ip设置命令 浏览:552
如何打开软件服务器 浏览:756