-1

C# で次の PHP POST を作成する必要があります。

$params = array(    
'method' => 'method1',   
'params' => array 
    (    
        'P1' => FOO,    
        'P2' => $Bar, 
        'P3' => $Foo,
    ) 
);

params配列の作成方法がわかりません。私はWebClient.UploadString()json文字列を試してみましたが、役に立ちませんでした。

上記を C# で構築するにはどうすればよいですか?

私は試します

    using (WebClient client = new WebClient())
    {
        return client.UploadString(EndPoint, "?method=payment");
    }

上記は機能しますが、さらにパラメーターが必要です。

    using (WebClient client = new WebClient())
    {            
        return client.UploadString(EndPoint, "?method=foo&P1=bar");
    }

P1認識されません。

試してみましUploadValues()たが、パラメーターをに保存できませんNamedValueCollection

API はhttps://secure-test.be2bill.com/front/service/rest/processです

4

2 に答える 2

2

ここで説明したように: http://www.codingvision.net/networking/c-sending-data-using-get-or-post/

次のように動作するはずです:

string urlAddress = "http://www.yoursite.tld/somepage.php?method=foo&P1=bar1&P2=bar2&P3=bar3";  

using (WebClient client = new WebClient())
{
       string response = client.DownloadString(urlAddress);
}

ポストメソッドを使いたいかもしれません...リンクを見てください

あなたの例では

$php_get_vars = array(    
'method' => 'foo',   
'params' => array 
    (    
        'P1' => 'bar1',    
        'P2' => 'bar2', 
        'P3' => 'bar3',
    ) 
);

そのはず:

string urlAddress = "http://www.yoursite.tld/somepage.php?method=foo&params[P1]=bar1&params[P2]=bar2&params[P3]=bar3";  
于 2013-06-25T11:11:47.177 に答える
0

データを投稿するには POST メソッドを使用する必要があると思います。多くの場合、正しいリクエスト ヘッダーを設定していないことが原因でエラーが発生します。

これはうまくいくはずの解決策です(C#でWebClientを使用して特定のURLにデータを投稿する方法でRobin Van Persiによって最初に投稿されました):

string URI = "http://www.domain.com/restservice.php";
string params = "method=foo&P1=" + value1 + "&P2=" + value2 + "&P3=" + value3;

using (WebClient wc = new WebClient())
{
    wc.Headers[HttpRequestHeader.ContentType] = "application/x-www-form-urlencoded";
    string HtmlResult = wc.UploadString(URI, params);
}

これで問題が解決しない場合は、上記のリンクの回答でさらに解決策を試してください。

于 2013-06-25T11:12:28.983 に答える