2011-07-07 15 views
1

ここに私がやろうとしていることがあります。私はプログラムをセットアップしています(デモページに投稿し、コードを持っていないし、正しい値を返して、コードをすぐに投稿します)。そして、私が使っているコードでは、 PHPから投稿を読み込む方法に関する情報を見つけ、変数をC#に戻します(テスト段階)。私の最終的な目標は、ポストから情報を収集し、getpost.phpページと同じサイトの残りのページに送ることです。誰かがこれで私を助けることができたら、私はとても感謝しています。私が言ったようにC#からPHPへの投稿を受信

class WebPostRequest 
{ 
    WebRequest theRequest; 
    HttpWebResponse theResponse; 
    ArrayList theQueryData; 

    public WebPostRequest(string url) 
    { 
     theRequest = WebRequest.Create(url); 
     theRequest.Method = "POST"; 
     theQueryData = new ArrayList(); 
    } 

    public void Add(string key, string value) 
    { 
     theQueryData.Add(String.Format("{0}={1}", key, System.Web.HttpUtility.UrlEncode(value))); 
    } 

    public string GetResponse() 
    { 
     // Set the encoding type 
     theRequest.ContentType = "application/x-www-form-urlencoded"; 

     // Build a string containing all the parameters 
     string Parameters = String.Join("&", (String[])theQueryData.ToArray(typeof(string))); 
     theRequest.ContentLength = Parameters.Length; 

     // We write the parameters into the request 
     StreamWriter sw = new StreamWriter(theRequest.GetRequestStream()); 
     sw.Write(Parameters); 
     sw.Close(); 

     // Execute the query 
     theResponse = (HttpWebResponse)theRequest.GetResponse(); 
     StreamReader sr = new StreamReader(theResponse.GetResponseStream()); 
     return sr.ReadToEnd(); 
    } 

} 

は、テストページで、すべてが正常に動作している、ポストは、テストページに受信なっていると私のプログラムに返送します。

* * * UPDATE :::

[OK]を、私はC#アプリケーションからのPOST情報を収集するために自分のサイトでPHPを得ました。今私はその情報を転送して、他のウェブページにリダイレクトしてセッションを終了し、自分のサイトにいる理由を達成する必要があります。

+0

あなたは何を混乱させたいのかの説明を見つけます。 http POSTデータとインターネット上でのポスティングの毎日の使用という2つのコンテキストで 'post'を使用しているようです。表示するC#コードは、クライアント側のアプリケーションのように見えます。 http POSTデータを受け入れるサーバーホスティングのPHPページを作成する方法を知りたいですか?同じデータを受け入れてエコーバックする理由を説明してください。 – horatio

+0

はい私が開発しているこのアプリケーションは、コンピュータの問題を診断するのに役立ちます。それはクライアントからの簡単な情報を収集し、それをサーバーに報告し、情報を受け取ったことを報告し、その後、PHPサーバー側を介して残りの部分をさらに診断するための続行ページにリダイレクトします。ユーザーがサイトを終了するときにすべての情報を破棄するためにセッションで行われます。 –

+0

あなたのneed.in私の外見では、このコードがうまく動作するかわからない。 PHPでC#のデータレシーバーをどのようにデバッグしていますか? –

答えて

0

PHPと他のソースからの投稿データは、時には奇妙なやり方で動作します。それはあなたが生データではなく、Apacheのことで処理されたデータを取得することを意味します

$post_from_c = json_decode(trim(file_get_contents('php://input')), true); 

のfile_get_contents(「//入力PHP:」) は、あなたがこのようsoemthingを行うことができますyoutは、問題を見つけます。

0

私はそれを理解しました。私がやったのは、PHPのポストを集めて一時的なデータベースに送り、クライアントがすでにIPとクライアントのパスワードを使ってアクセスしているページからの情報を呼び出すことです(同じIPアドレス上の複数のコンピュータを削除する)その後、私は特定の時間の後にすべてのデータを消去するcronジョブを作成しました。私の場合は、3時間に設定しました。

関連する問題