【问题标题】:How to post parameters to java servlet using curl from php page?如何使用来自 php 页面的 curl 将参数发布到 java servlet?
【发布时间】:2014-04-18 08:17:08
【问题描述】:

我正在使用 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 mysql servlets curl


    【解决方案1】:

    当您从您的 java 重定向时,处理您的 php 重定向。

    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
    

    另外,如果您想查看 php 的输出,请使用 return-transfer 选项

    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    

    【讨论】:

    • 感谢您的回复@Sabuj Hassan。我会试试那个。
    • 那行不通@Sabuj Hassan。得到同样的错误:在此服务器上找不到请求的 URL /mainpage.jsp。
    • 可能是来自您服务器端的错误,我对此知之甚少。但是,从 curl 端开始,您可以启用详细模式并运行脚本 curl_setopt($ch, CURLOPT_VERBOSE, 1);。当你执行它时,它会向你显示 curl 正在做的事情。
    • 在哪里可以看到 curl 的日志??
    • @Krish 日志可以在您的浏览器、控制台或服务器日志中。
    【解决方案2】:

    我猜 CURL 不会重定向到另一个资源,它只会从另一个资源(网站)中获取数据。我使用 PHP 最简单的方法 header 重定向到我的 Web 应用程序中的 servlet。它解决了我的问题。

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

    【讨论】:

      猜你喜欢
      • 2015-05-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-08-20
      • 2010-10-23
      相关资源
      最近更新 更多