📄 http post方法(3).txt
字号:
请教大家一个问题:
Post方法一般是在网页的form表单提交的时候用的方法,是html的方法,
现在我必须在java类里面模拟这个post方法,
那我自然就想到了java.net.HttpURLConnection 来实现,下面是我的代码:
public static void main(String args[]){
URL destURL;
HttpURLConnection urlConn;
String request;
try{
String mobileNum = "mobileNum="+URLEncoder.encode("13588183695", "UTF-8");
String ccPasswd = "ccPasswd="+URLEncoder.encode("123456", "UTF-8");
request=mobileNum+ccPasswd;//换成正确的用户名和密码
destURL = new URL("http://*.*.*.*/");
urlConn = (HttpURLConnection)destURL.openConnection();
urlConn.setRequestMethod("POST");
urlConn.setDoOutput(true); // 需要向服务器写数据
urlConn.setDoInput(true); //
urlConn.setUseCaches(false); // 获得服务器最新的信息
urlConn.setAllowUserInteraction(false);
urlConn.setRequestProperty("Content-type","application/x-www-form-urlencoded");
// 必须告诉服务器你发送的数据大小. 这也同样告诉
urlConn.setRequestProperty("Content-length", ""+request.length());
// Open an output stream so you can send the info you are posting
DataOutputStream outStream = new DataOutputStream(urlConn.getOutputStream());
// Write out the actual request data
outStream.writeBytes(request);
outStream.close();
DataInputStream inStream = new DataInputStream(urlConn.getInputStream());
System.out.println("打印得到的数据:");
int ch;
while ((ch = inStream.read()) >= 0) {
System.out.print((char) ch);
}
inStream.close();
}
catch(Exception e){System.out.println("error:"+e);
}
}
现在的问题是,服务器返回的错误:
error:java.io.IOException: Server returned HTTP response code: 500 for URL: http://*.*.*.*/******
我觉得是不是setRequestProperty("Content-type","application/x-www-form-urlencoded");
不对,因为我从服务器返回的是XML,现在这样是当成返回的是html来处理,但是我不知道XMl怎么写;
然后我从别处看到post是向服务器传了一个对象过去,是加密的,
我现在这样的写法有点像get的方法通过mobileNum=**&pass=** 这样不知道算不算是标准的post
小弟初学,望各位高手赐教!!!急
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -