问题
我需要使用C#对Betfair API进行cUrl调用。电话是尝试使用当前注册的详细信息获取登录访问权限。我试图使用的方法在API文档中描述为使用API端点的交互式登录。我没有使用cUrl的经验,所以非常不确定如何使它工作。
我正在尝试进行的通话的API文档页面。
必读通话
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());
}
非常感谢任何帮助。提前致谢。