ASP.NET MVC卷曲等效

use*_*865 4 curl asp.net-mvc-4

我很难找到很多细节.我需要使用处理信用卡的api并使用curl.所有文档都在php中,虽然我可以使用php,但我的主站点完全是使用razor视图引擎的MVC4.我需要将这个从PHP转换为.net中可用的东西

$ curl https://api.stripe.com/v1/customers -u *private key here*: 
       -d "description=Customer for test@example.com" -d "card[number]=4242424242424242" 
       -d "card[exp_month]=12" -d "card[exp_year]=2013"
Run Code Online (Sandbox Code Playgroud)

在此先感谢您的时间

bal*_*dre 5

来自curl手册

  • -u, --user <user:password> 是用户凭据
  • -d, --data <data> 是POST数据

所以你可以"解码"这个:

using (var wc = new System.Net.WebClient())
{
    // data
    string parameters = string.Concat("description=", description, "&amp;card[number]=" , cardNumber, "&amp;card[exp_month]=", cardExpirationMonth, "&amp;card[exp_year]=", cardExpirationYear),
           url = "https://api.stripe.com/v1/customers;

    // let's fake it and make it was a browser requesting the data
    wc.Headers.Add("user-agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; .NET CLR 1.0.3705;)");

    // credentials
    wc.Credentials = new System.Net.NetworkCredential("*private key here*", "");

    // make it a POST instead of a GET
    wc.Headers[HttpRequestHeader.ContentType] = "application/x-www-form-urlencoded";

    // send and get answer in a string
    string result = wc.UploadString(url, parameters);
}
Run Code Online (Sandbox Code Playgroud)

通过现有答案的 POST调整进行更新.