如何在将帖子提交到 php 页面时从 C# 设置$SERVER变量值


How to set $SERVER variable value from C# while submitting post to php page

我正在尝试从 C# 向 php 网页提交发布请求.php查询如下所示:

    $result = mysql_query ("INSERT INTO SomeTable (ID, NAME, PERIOD, INFO, REQUESTED_BY, 
DATE) " ." values (" . $id . ", '" . $_POST['Name'] . "', '" . $_POST['Period'] ."', '" . 
$_POST['Info'] . "', '" . $_SERVER['HTTP_MYCOMPANY_EMAIL'] . "', '".date( 'Y-m-d 
H:i:s')."')");

如您所见,其中一个变量是我想传递的$_SERVER['HTTP_MYCOMPANY_EMAIL']变量。我无法模拟身份,因为此代码将从工作流执行。

这是我的 C# 代码如下所示:

        WebClient objWebClient = new WebClient();
        NameValueCollection objNameValueCollection = new NameValueCollection();
        objNameValueCollection.Add("Name", "test123");
        objNameValueCollection.Add("Period", "30 Days");
        objNameValueCollection.Add("Info", "someinfo");
        objNameValueCollection.Add("HTTP_MYCOMPANY_EMAIL", "fname_lname");
        objWebClient.UseDefaultCredentials = true;
        try
        {
            byte[] bytes = objWebClient.UploadValues("https://www.someweb.com/phpPage.php", "POST", objNameValueCollection);
            Console.Write(Encoding.ASCII.GetString(bytes));
            Console.WriteLine();
            Console.WriteLine("Press any key to exit");
        }
        catch (Exception ex)
        {
            Console.WriteLine(ex.ToString());
            throw;
        }

我可以设置变量$POST但不能设置$SERVER变量的值。有没有办法这样做?

objWebClient.Headers.Add("Company-Name", value);

$_SERVER 是一个超全局数组,它返回有关操作环境的信息。不能动态更改其值。你到底想完成什么?