Javascript PHP脚本,说明请求方法在应该发布时是GET

Javascript PHP脚本,说明请求方法在应该发布时是GET,javascript,php,html,.net,c#-4.0,Javascript,Php,Html,.net,C# 4.0,我正在C#.NET 4.0中为仍然使用XP的客户端构建一个桌面应用程序。在应用程序中,我必须联系客户的网站,因此我开始研究如何简单地与网站沟通。一些敏感信息可能必须经过传输,因此请求方法必须是POST。我已经让应用程序与网站的PHP脚本进行通信,但我不认为它会作为POST发送,尽管明确地将方法设置为POST 这是我的简历: 我从PHP脚本得到的回复只是请求方法加上连接是否为HTTPS。回复应该是“继续发帖”,但我尝试过的每件事都以“继续”返回。诚然,我对PHP知之甚少,但在过去的几天里,我做了大

我正在C#.NET 4.0中为仍然使用XP的客户端构建一个桌面应用程序。在应用程序中,我必须联系客户的网站,因此我开始研究如何简单地与网站沟通。一些敏感信息可能必须经过传输,因此请求方法必须是POST。我已经让应用程序与网站的PHP脚本进行通信,但我不认为它会作为POST发送,尽管明确地将方法设置为POST

这是我的简历:

我从PHP脚本得到的回复只是请求方法加上连接是否为HTTPS。回复应该是“继续发帖”,但我尝试过的每件事都以“继续”返回。诚然,我对PHP知之甚少,但在过去的几天里,我做了大量的研究,我非常确定这个简单的脚本没有bug。不过,我可能错了

以下是我的PHP:

<?php
    ob_start();
    echo $_SERVER["REQUEST_METHOD"]." ".$_SERVER["HTTPS"];
    header($_SERVER["SERVER_PROTOCOL"]." 200 Success;");
    header("Status: 200 Success;");
    header("Content-Type: text/plain;");
    header("Connection: close;");
    ob_end_flush();
    ob_flush();
    flush();
?>

我花了一整天的时间试图找出问题在我的脚本或应用程序中的位置。找不到问题。我在发送请求之前、发送请求之后以及脚本的响应本身将方法输出到控制台。他们都应该和波斯特匹配。应用程序始终坚持请求方法是POST,但每次脚本都会说GET。所以我决定在网站上的一个页面中创建一个HTML表单来检查它,我得到了同样的结果

这是我的HTML:

<!DOCTYPE html>
<html>
    <head>
        <title>
            Title
        </title>
    </head>
    <body>
        <form id="formId" method="POST" target="_self"
          action="https://www.myclientswebsite.com/formtest.php">
            <input type="text" id="name" value="email@address.example"></input>
            <input type="password" id="password" value="P@$$word1234"></input>
            <input type="text" id="info" value="$0m3R4nd0M1nF0#3|23"></input>
        </form>
        <script type="text/javascript">
            document.getElementById('formId').submit();
        </script>
    </body>
</html>

标题
document.getElementById('formId').submit();
当我在浏览器中导航到该页面时,表单自动提交,并且我从PHP脚本得到响应,“继续”,即使表单清楚地将方法声明为POST。在JavaScript、C#或PHP中,是否有一些幕后魔法可以强制请求为GET?我错过了什么


编辑:我不确定如何操作,但突然之间,HTML表单开始工作,并获得了正确的输出。所以现在我想这可能只是我的C代码中的一些东西。

也许网站正在重定向?我会用像fiddler这样的调试器检查帖子,看看重定向链是什么样子的。你能提供
的输出吗?@BA_Webimax
$\u POST
$\u GET
都显示了
数组(0){}
,而
$\u服务器
显示了HTTPS是“开”的,内容类型如上所示,上面的用户代理,REQUEST_方法是“GET”,QUERY_字符串是空的,它是fastcgi,是Apache,使用mysql,等等@Meloviz你可能看到了某种重定向。这就解释了空的$\u POST和$\u GET数组。所有重定向都是GET,POST变量将被丢弃。@James和BA_Webimax您说得对,谢谢。我检查了访问日志,它立即重定向并删除了GET的帖子。现在来弄清楚为什么会这样。吴宇森。谢谢你的帮助!
<!DOCTYPE html>
<html>
    <head>
        <title>
            Title
        </title>
    </head>
    <body>
        <form id="formId" method="POST" target="_self"
          action="https://www.myclientswebsite.com/formtest.php">
            <input type="text" id="name" value="email@address.example"></input>
            <input type="password" id="password" value="P@$$word1234"></input>
            <input type="text" id="info" value="$0m3R4nd0M1nF0#3|23"></input>
        </form>
        <script type="text/javascript">
            document.getElementById('formId').submit();
        </script>
    </body>
</html>