将 CURL 转换为 C# [英] Convert CURL to C#
本文介绍了将 CURL 转换为 C#的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我花了很长时间尝试各种不同的方法来将此 curl 转换为 c#.有人可以帮忙吗.我正在尝试发布一个 http 帖子并不断收到错误 500.这是我要转换的内容:
I have spent ages trying various different ways to convert this curl to c#. Could someone please help. I am trying to do a http post and keep getting error 500. here is what I want to convert:
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);
}
这个方法也试过了,没用:
Tried this method too but it didn't work:
List<string> data = new List<string>();
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,是否有效:
I modified the first one to write data to the request stream as per http://msdn.microsoft.com/en-us/library/debx8sh9(v=vs.110).aspx, does this work:
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);
}
这篇关于将 CURL 转换为 C#的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文