Curl C#使用HttpClient调用

时间:2016-02-19 10:22:41

标签: c# .net api curl betfair

问题

我需要使用C#对Betfair API进行cUrl调用。电话是尝试使用当前注册的详细信息获取登录访问权限。我试图使用的方法在API文档中描述为使用API​​端点的交互式登录。我没有使用cUrl的经验,所以非常不确定如何使它工作。

我正在尝试进行的通话的API文档页面。

https://api.developer.betfair.com/services/webapps/docs/display/1smk3cen4v3lu3yomq5qye0ni/Interactive+Login+-+API+Endpoint

必读通话

curl -k -i -H "Accept: application/json" -H "X-Application: <AppKey>" -X POST -d 'username=<username>&password=<password>' https://identitysso.betfair.com/api/login

进度

过去我以下列方式使用过HttpRequest。

HttpWebRequest request =(HttpWebRequest)WebRequest.Create("http://api.football-data.org/v1/soccerseasons/354/fixtures/?matchday=22");
request.Headers.Add("AUTHORIZATION", "Basic YTph");
request.ContentType = "text/html";
request.Method = "GET"; 
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
StreamReader stream = new StreamReader(response.GetResponseStream());
string ResultAsText = stream.ReadToEnd().ToString();

从我读过的内容中我应该在进行cUrl调用时使用HttpClient但是因为我在发现它之前从未这样做过。

以下代码是我到目前为止所尝试过的,但似乎没有用。

using System.Net.Http;

var client = new HttpClient();

// Create the HttpContent for the form to be posted.
var requestContent = new FormUrlEncodedContent(new [] {
new KeyValuePair<string, string>("text", "username=<username>&password=<password>"),
});

// Get the response.
HttpResponseMessage response = await client.PostAsync(
"https://identitysso.betfair.com/api/login",
requestContent);

// Get the response content.
HttpContent responseContent = response.Content;

// Get the stream of the content.
using (var reader = new StreamReader(await responseContent.ReadAsStreamAsync()))
{
// Write the output.
Console.WriteLine(await reader.ReadToEndAsync());
}

非常感谢任何帮助。提前致谢。

0 个答案:

没有答案