简体   繁体   English

Java网络后请求

[英]Java Networking Post Resquest

package loginphp;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;

public class Loginphp {

    public static void main(String[] args) throws MalformedURLException, IOException {
        String url = "http://localhost/login/login.php";
        String Parameters = "username=admin&password=admin";
        byte[] postdata = Parameters.getBytes("UTF-8");
        String useragent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:59.0) Gecko/20100101 Firefox/59.0";
        URL urlLink = new URL(url);

        HttpURLConnection urlConn = (HttpURLConnection) urlLink.openConnection();
        urlConn.setRequestMethod("POST");
        urlConn.setRequestProperty("User-Agent", useragent);
       urlConn.setRequestProperty("Content-Length", String.valueOf(postdata.length));
        urlConn.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
        urlConn.setInstanceFollowRedirects(true);
        urlConn.setDoOutput(true);
        urlConn.getOutputStream().write(postdata);

        System.out.println("Connecting to " + url);
        System.out.println("Response " + urlConn.getResponseMessage());
        System.out.println("Code " + urlConn.getResponseCode());

        InputStream is = urlConn.getInputStream();
        InputStreamReader isr = new InputStreamReader(is);
        BufferedReader bis = new BufferedReader(isr);

        String output;

        while ((output = bis.readLine()) != null) {

            System.out.println(" " + output);
        }

    }

}

Am sending a post request to the following code, but its not redirecting to welcome page after login, Am not sure if its even logging in. The result am getting is the same code for logging page. 正在向以下代码发送发布请求,但登录后未将其重定向到欢迎页面,不确定其是否均匀登录。得到的结果与登录页面的代码相同。 What could be the problem ? 可能是什么问题呢 ? My main goal is to logging and redirect to welcome.php. 我的主要目标是登录并重定向到welcome.php。 The script is working perfect using browser. 该脚本可以在浏览器中完美运行。 Am able to logging, get redirected to welcome page and logout. 能够记录,重定向到欢迎页面并注销。

<?php
   include("config.php");
   session_start();
   $error = "";
   if($_SERVER["REQUEST_METHOD"] == "POST") {
      // username and password sent from form 

      $myusername = mysqli_real_escape_string($db,$_POST['username']);
      $mypassword = mysqli_real_escape_string($db,$_POST['password']); 

      $sql = "SELECT id FROM admin WHERE username = '$myusername' and passcode = '$mypassword'";
      $result = mysqli_query($db,$sql);
      $row = mysqli_fetch_array($result,MYSQLI_ASSOC);
      $active = $row['active'];

      $count = mysqli_num_rows($result);

      // If result matched $myusername and $mypassword, table row must be 1 row

      if($count == 1) {
        // session_register("myusername");
         $_SESSION['login_user'] = $myusername;

         header("location: welcome.php");
      }else {
         $error = "Your Login Name or Password is invalid";
      }
   }
?>
<html>

   <head>
      <title>Login Page</title>

      <style type = "text/css">
         body {
            font-family:Arial, Helvetica, sans-serif;
            font-size:14px;
         }

         label {
            font-weight:bold;
            width:100px;
            font-size:14px;
         }

         .box {
            border:#666666 solid 1px;
         }
      </style>

   </head>

   <body bgcolor = "#FFFFFF">

      <div align = "center">
         <div style = "width:300px; border: solid 1px #333333; " align = "left">
            <div style = "background-color:#333333; color:#FFFFFF; padding:3px;"><b>Login</b></div>

            <div style = "margin:30px">

               <form action = "" method = "post">
                  <label>UserName  :</label><input type = "text" name = "username" class = "box"/><br /><br />
                  <label>Password  :</label><input type = "password" name = "password" class = "box" /><br/><br />
                  <input type = "submit" value = " Submit "/><br />
               </form>

               <div style = "font-size:11px; color:#cc0000; margin-top:10px"><?php echo $error; ?></div>

            </div>

         </div>

      </div>

   </body>
</html>

The short answer is You should use a 303 redirect : 简短的答案是您应该使用303重定向

header("HTTP/1.1 303 See Other");
header("location: welcome.php");

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM