簡體   English   中英

如何使用PHP頁面中的curl將參數發布到Java servlet?

[英]How to post parameters to java servlet using curl from php page?

我正在使用Netbeans開發Web應用程序。 我的PHP頁面由一個包含用戶名和密碼的表單組成,我必須使用MySQLPHP中進行驗證,然后使用curl將這些參數發送給Servlet。 我能夠在Servlet上接收數據,但是我無法繼續進行操作,即控制流再次返回PHP頁面,並在網頁上顯示錯誤,表明所請求的資源不可用(我猜RequestDispatcher不能正確地放棄。)

我已經嘗試過如下。

HTML

 <form id="loginform" name="loginform" method="POST" action="HomePage.php">
 <input type="text" id="user_name" name="user_name">
 <input type="password" id="password" name="password">
 <input type="submit" >

PHP

    <?php
    // After validating 
        $ch = curl_init();
        curl_setopt($ch, CURLOPT_URL, "http://localhost:8080/WebApp/Validatelogin");//validatelogin is a servlet
        curl_setopt($ch, CURLOPT_POST, 1);
        curl_setopt($ch, CURLOPT_POSTFIELDS, "email=" . $email . "pass=" . $pass);
        curl_exec($ch);
        curl_close($ch);
     ?>

validateLogin.java

        email = request.getParameter("email").trim();
        Password= request.getParameter("pass");
        RequestDispatcher rd = request.getRequestDispatcher("./mainpage.jsp");
        rd.forward(request, response);

  Error : mainpage is not available. 

任何人都可以幫助我,因為我是PHP的新手。謝謝。

從Java重定向時,請從php處理重定向。

curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);

另外,如果您想查看PHP的輸出,請使用return-transfer選項

curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

我想CURL不會重定向到另一個資源,它只會從另一個資源(網站)獲取數據。 我已經使用PHP最簡單的方法標頭將其重定向到Web應用程序中的servlet。它解決了我的問題。

header("Location: http://localhost:8080/WebApp/Validatelogin?email=$email");

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM