将CURL转换为C#

我花了很多年的时间尝试各种不同的方法将这个curl转换为c#。 请有人帮忙。 我正在尝试做一个httppost并继续得到错误500.这是我要转换的内容:

curl --user username:password -X POST -d "browser=Win7x64-C1|Chrome32|1024x768&url=http://www.google.com" http://crossbrowsertesting.com/api/v3/livetests/ 

这是我到目前为止:

  HttpWebRequest request = (HttpWebRequest)WebRequest.Create(baseurl); request.Method = "POST"; request.Accept = "application/json"; request.Credentials = new NetworkCredential(username, password); var response = request.GetResponse(); string text; using (var sr = new StreamReader(response.GetResponseStream())) { text = sr.ReadToEnd(); values.Add(text); } 

尝试过这种方法,但它不起作用:

 List data = new List(); data.Add("browser=Win7x64-C1|Chrome20|1024x768"); data.Add("url=URL"); data.Add("format=json"); data.Add("callback=doit"); var request = WebRequest.Create("CrossBrowserTestingURL"); request.Method = "POST"; request.ContentType = "application/x-www-form-urlencoded"; request.Credentials = new NetworkCredential(username, password); using (var writer = new StreamWriter(request.GetRequestStream())) { writer.Write("data=" + data); } var response = request.GetResponse(); string text; using (var sr = new StreamReader(response.GetResponseStream())) { text = sr.ReadToEnd(); values.Add(text); } 

我根据http://msdn.microsoft.com/en-us/library/debx8sh9(v=vs.110).aspx修改了第一个将数据写入请求流,这是否有效:

 HttpWebRequest request = (HttpWebRequest)WebRequest.Create(baseurl); request.Method = "POST"; request.Accept = "application/json"; request.Credentials = new NetworkCredential(username, password); request.UserAgent = "curl/7.37.0"; request.ContentType = "application/x-www-form-urlencoded"; using (var streamWriter = new StreamWriter(request.GetRequestStream())) { string data = "browser=Win7x64-C1|Chrome32|1024x768&url=http://www.google.com"; streamWriter.Write(data); } var response = request.GetResponse(); string text; using (var sr = new StreamReader(response.GetResponseStream())) { text = sr.ReadToEnd(); values.Add(text); } 

刚刚实现了一个实验性的ASP.NET Core应用程序 ,它使用Roslyn将curl命令转换为C#代码

试一试,请:
https://curl.olsh.me/