Aru*_*j R 4 .net c# api xml-rpc nuget-package
这是我的样品请求,
\n\n<?xml version=\xe2\x80\x9d1.0\xe2\x80\x9d encoding=\xe2\x80\x9dUTF-8\xe2\x80\x9d?>\n <methodCall>\n <methodName>login</methodName>\n <params>\n <param>\n <value>\n <struct>\n <member>\n <name>password</name>\n <value><string>XXXXXXXXXX</string></value>\n </member>\n <member>\n <name>username</name>\n <value><string>XXXX@XXX.com</string></value>\n </member>\n </struct>\n </value>\n </param>\n </params>\n</methodCall>\nRun Code Online (Sandbox Code Playgroud)\n\n这是我对请求的成功响应示例:
\n\n<struct>\n <member>\n <name>id</name>\n <value><string>12345</string></value>\n </member>\n <member>\n <name>api_status</name>\n <value><int>200</int></value>\n </member>\n</struct>\nRun Code Online (Sandbox Code Playgroud)\n\n问题:
\n\n我试图从.NET 控制台应用程序调用API端点。\n但是,它没有连接到服务器。谁能告诉我如何使用C#调用此API端点?
\n第 1 步:在 .NET 中创建控制台应用程序
步骤 2:安装NuGet “ xml-rpc.net ”
第 3 步:创建一个像这样的示例请求模型类,
public class request
{
public string username { get; set; }
public string password { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
第 4 步:创建一个像这样的示例响应模型类,
public class response
{
public int id { get; set; }
public int status { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
第 5 步:借助命名空间创建一个从基类继承的接口
,该接口必须包含我们的端点方法,并且应该使用具有API资源的过滤器进行装饰。IXmlRpcProxy using CookComputing.XmlRpc; XmlRpcUrl
[XmlRpcUrl("https://api.XXX.com/XXX")]
public interface FlRPC : IXmlRpcProxy
{
[XmlRpcMethod("login")]//endpoint name
response login(request request);
}
Run Code Online (Sandbox Code Playgroud)
步骤 6:要调用XML-RPC 服务器,必须使用代理类的实例。
class Program
{
static void Main(string[] args)
{
response response = new response();
request request = new request();
FlRPC proxy = XmlRpcProxyGen.Create<FlRPC>();
request.password = "xxxxxxxx";
request.username = "xxxx@xxxx.org";
response = proxy.login(request);
}
}
Run Code Online (Sandbox Code Playgroud)
注意:上面的请求、响应模型类必须包含所有属性,并且属性名称应该更贴近端点请求、响应的有效负载。