0

過去 2 日間、php の投稿データを操作しようとしてきましたが、自分のコードが論理的であることを完全に肯定した後、自分で動作させることをあきらめました。

これが私のC#コードです。

class SecureWeb
{
    /*
     *  CONSTRUCTOR
    */
    public SecureWeb()
    {
        //INITIALIZE

    }

    public bool ValidateServerCertificate(object sender, X509Certificate certificate, X509Chain chain, SslPolicyErrors sslPolicyErrors)
    {
        return true;
    }
    public string Post(string URI, NameValueCollection Message)
    {
        try
        {
            string result = null;
            using (WebClient wc = new WebClient())
            {
                wc.Proxy = null;
                wc.Credentials = CredentialCache.DefaultCredentials;                    
                ServicePointManager.ServerCertificateValidationCallback += ValidateServerCertificate;
                byte[] bByte = wc.UploadValues(URI, (Message));
                result = Encoding.UTF8.GetString(bByte);
            }
            return result;
        }
        catch (Exception) { }
        return null;
    }
}

これが私のphpコードです(はい、単純なエコーを使用してみました)、

<?php
function getParams() {

    if (!isset($_POST['db'])) {
        return false;
    }
    if (!isset($_POST['user'])) {
        return false;
    }

    return true;
}

if (!getParams()) {

    echo('NULL_DATA');
    exit();
}
else {

    $user = $_POST['user'];
    echo ($user);
    exit();
}

?>

リクエストが「受け入れられない」という 406 エラーが表示されます。また、当面の問題は私のサーバーにあると確信しています。何を修正または調整する必要があるのか​​ わかりません。

4

2 に答える 2

1

追加

wc.Headers.Add("Content-Type","application/x-www-form-urlencoded");

リクエストを送信する前に、メッセージの周りの括弧も削除します

wc.UploadValues(URI, Message);

電話

于 2013-11-18T07:31:28.060 に答える