概要
C#でロボットをRest実行する方法のサンプルコードを記載します。
.Net標準のAPIを使用し、Httpリクエストでロボットを実行するサンプルになります。
使用例
using System;
using System.Net.Http;
using System.Text;
using System.Threading.Tasks;
namespace ExecuteRobot
{
class Sample
{
static void Main(string[] args)
{
String result = ExecuteRobot().GetAwaiter().GetResult();
Console.WriteLine(result);
}
private static async Task<String> ExecuteRobot() {
String _inputParameter = "{\"parameters\":[{\"variableName\":\"input\",\"attribute\":[{\"type\":\"text\",\"name\":\"id\",\"value\":\"1234\"},{\"type\":\"text\",\"name\":\"name\",\"value\":\"サンプル\"}]}]}";
String _robotUrl = "http://localhost:50070/rest/run/Default%20project/Rest.robot";
String _username = "MCユーザー名";
String _password = "パスワード";
HttpClient client = new HttpClient();
HttpRequestMessage request = new HttpRequestMessage(HttpMethod.Post, _robotUrl);
// MCの認証情報設定
request.Headers.Add("Authorization", "Basic " + Convert.ToBase64String(Encoding.UTF8.GetBytes(String.Format("{0}:{1}", _username, _password))));
// レスポンスデータをJSON形式で受け取る
request.Headers.Add("Accept", "application/json");
// 送信するリクエストデータの形式をJSON形式に指定
request.Content = new StringContent(_inputParameter, Encoding.UTF8, "application/json");
HttpResponseMessage response = await client.SendAsync(request);
return await response.Content.ReadAsStringAsync();
}
}
}
注意事項
こちらはあくまでも一例であり、この方法を推奨するものではありません。
お客様の判断においてご利用・参考下さい。
前提
.Net Framework4.7で動作確認をしております。
区分 | 確認Ver |
逆引き | 10.7.0.4 |