2016-11-05 5 views
1

C#に正しくデータを掲載しませC#Webクライアントは、PHPスクリプト

$key = $_POST["key"]; 
echo($key); 

これを実行すると、PHP $ _POST配列は、実際にそれに投稿された任意の値を持つことはありません。エコーラインに出力がないことを意味します。

また、「キー」には値がありますが、この例ではちょうど切り抜かれています。

答えて

1

、表現new NameValueCollection() { ... }は、あなたがそれをやるべきだと思うものを行います。

あなたは、明示的であるべきとCollection initializers

コレクション初期化子は、あなたがその実装するコレクションクラスを初期化する際に使用すると、1つのまたは複数の要素の初期化子を指定でき明らかにするオブジェクト初期化子の検索

NameValueCollection values = new NameValueCollection(); 
values.Add("key", key); 
byte[] response = client.UploadValues("http://example.com/api/server/key", 
             values); 

を言いますIEnumerableまたはAdd拡張メソッドを持つクラス。

ので、多分、例えば、括弧の作品なしで初期化子を使用した例

List<Cat> cats = new List<Cat> 
{ 
    new Cat(){ Name = "Sylvester", Age=8 }, 
    new Cat(){ Name = "Whiskers", Age=2 }, 
    new Cat(){ Name = "Sasha", Age=14 } 
}; 

byte[] response = client.UploadValues("http://example.com/api/server/key", 
             new NameValueCollection { 
              { "key", key } 
             }); 
+0

いずれにしても同じではないでしょうか?それにもかかわらず、POSTデータを取得できないというPHPの問題は解決していません。 –

+1

これでもうまくいかない場合は、URLが間違っていると思います。 –

+0

一言...私は馬鹿のように感じる。私は真剣に私がこれについて私の心を失っていると思った。 URLの/ afterキーを忘れて、そのディレクトリのindex.phpに投稿しないようにしました。助けてくれてありがとう。私は今泣くだろう:) –

1

URLのような値をエンコード:私はわからない

client.UploadValues("http://example.com/api/server/key", new NameValueCollection() 
    { 
     { "key", HttpUtility.UrlEncode(key) } 
    }); 
+0

お返事ありがとうございます。しかし、これは実際には機能しません。まだ値を掲示しない。 –

+0

ここには何かが変わった場合の全体的な機能がありますが、私はそれがどうなるか分かりません。 https://codetidy.com/9486/ –

+0

コードに問題はありません –

関連する問題