「java重定向post」java重定向跳转页面怎么不跳
本篇文章给大家谈谈java重定向post,以及java重定向跳转页面怎么不跳对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
- 1、httppost 302错误怎么解决 java
- 2、java重定向问题
- 3、java HttpPost怎么传递参数
- 4、Javaweb,为什么用post方法会因为这句话一直报错405?请问该怎么办?
- 5、用java模拟登陆教务处,用的是httpclient4,出现重定向问题怎么解决
httppost 302错误怎么解决 java
返回302的意思是服务器内部还要重定向到另外一个地址,就好比登陆成功时返回了302 然后要跳转到首页。
1、302是http重定向。
2、302 redirect: 302 代表暂时性转移(Temporarily Moved )。
3、302转向可能会有URL规范化及网址劫持的问题。可能被搜索引擎判为可疑转向,甚至认为是作弊。
java重定向问题
转发是向服务器请求了一次,在这个过程中request都有效,而重定向就不一样了,重定向其实是向服务器请求了两次,第一次向服务器请求,服务器给客户端一个响应码,客户端带着这个响应码再向服务器请求一次,request在第一次请求时有效,在第二次请求时request已被销毁,所以无效。
java HttpPost怎么传递参数
public class HttpURLConnectionPost {
/**
* @param args
* @throws IOException
*/
public static void main(String[] args) throws IOException {
readContentFromPost();
}
public static void readContentFromPost() throws IOException {
// Post请求的url,与get不同的是不需要带参数
URL postUrl = new URL("");
// 打开连接
HttpURLConnection connection = (HttpURLConnection) postUrl.openConnection();
// 设置是否向connection输出,因为这个是post请求,参数要放在
// http正文内,因此需要设为true
connection.setDoOutput(true);
// Read from the connection. Default is true.
connection.setDoInput(true);
// 默认是 GET方式
connection.setRequestMethod("POST");
// Post 请求不能使用缓存
connection.setUseCaches(false);
//设置本次连接是否自动重定向
connection.setInstanceFollowRedirects(true);
// 配置本次连接的Content-type,配置为application/x-www-form-urlencoded的
// 意思是正文是urlencoded编码过的form参数
connection.setRequestProperty("Content-Type","application/x-www-form-urlencoded");
// 连接,从postUrl.openConnection()至此的配置必须要在connect之前完成,
// 要注意的是connection.getOutputStream会隐含的进行connect。
connection.connect();
DataOutputStream out = new DataOutputStream(connection
.getOutputStream());
// 正文,正文内容其实跟get的URL中 '? '后的参数字符串一致
String content = "字段名=" + URLEncoder.encode("字符串值", "编码");
// DataOutputStream.writeBytes将字符串中的16位的unicode字符以8位的字符形式写到流里面
out.writeBytes(content);
//流用完记得关
out.flush();
out.close();
//获取响应
BufferedReader reader = new BufferedReader(new InputStreamReader(connection.getInputStream()));
String line;
while ((line = reader.readLine()) != null){
System.out.println(line);
}
reader.close();
//该干的都干完了,记得把连接断了
connection.disconnect();
}
扩展资料:
关于Java HttpURLConnection使用
public static String sendPostValidate(String serviceUrl, String postData, String userName, String password){
PrintWriter out = null;
BufferedReader in = null;
String result = "";
try {
log.info("POST接口地址:"+serviceUrl);
URL realUrl = new URL(serviceUrl);
// 打开和URL之间的连接
URLConnection conn = realUrl.openConnection();
HttpURLConnection httpUrlConnection = (HttpURLConnection) conn;
// 设置通用的请求属性
httpUrlConnection.setRequestProperty("accept","*/*");
httpUrlConnection.setRequestProperty("connection", "Keep-Alive");
httpUrlConnection.setRequestProperty("user-agent","Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1)");
httpUrlConnection.setRequestMethod("POST");
httpUrlConnection.setRequestProperty("Content-Type","application/json;charset=UTF-8");
Base64 base64 = new Base64();
String encoded = base64.encodeToString(new String(userName+ ":" +password).getBytes());
httpUrlConnection.setRequestProperty("Authorization", "Basic "+encoded);
// 发送POST请求必须设置如下两行
httpUrlConnection.setDoOutput(true);
httpUrlConnection.setDoInput(true);
// 获取URLConnection对象对应的输出流
out = new PrintWriter(new OutputStreamWriter(httpUrlConnection.getOutputStream(),"utf-8"));
// 发送请求参数
out.print(postData);
out.flush();
// 定义BufferedReader输入流来读取URL的响应
in = new BufferedReader(new InputStreamReader(httpUrlConnection.getInputStream(),"utf-8"));
String line;
while ((line = in.readLine()) != null) {
result += line;
}
//
// if (!"".equals(result)) {
// BASE64Decoder decoder = new BASE64Decoder();
// try {
// byte[] b = decoder.decodeBuffer(result);
// result = new String(b, "utf-8");
// } catch (Exception e) {
// e.printStackTrace();
// }
// }
return result;
} catch (Exception e) {
log.info("调用异常",e);
throw new RuntimeException(e);
}
//使用finally块来关闭输出流、输入流
finally{
try{
if(out!=null){
out.close();
}
if(in!=null){
in.close();
}
}
catch(IOException e){
log.info("关闭流异常",e);
}
}
}
}
Javaweb,为什么用post方法会因为这句话一直报错405?请问该怎么办?
这句话没有问题,是你其他的语句出现问题了,我刚看了一下转发语句很正常,你说是用respose重定向就可以正常运行吗?那么可能是xml文件中的mapping属性的内容没有填写正确吧,你看看是不是和servlet中的url一样,这里注意是有一点区别的。
用java模拟登陆教务处,用的是httpclient4,出现重定向问题怎么解决
httpclient如果是用get方法提交 会自动转向重定向的页面的。POST方法则要手动转向。
试下能不能get方法登录,如果可以用get方法登录 ,登录后会自动重定向到新的页面。如果不能用GET 登录,就只能POST后从响应中读取头的location 然后再用GET方法打开location返回的网址就行了。
关于java重定向post和java重定向跳转页面怎么不跳的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。
发布于:2022-11-26,除非注明,否则均为
原创文章,转载请注明出处。