从C#向WordPress发出请求时,将POST请求更改为GET请求

从C#向WordPress发出请求时,将POST请求更改为GET请求,c#,wordpress,dotnet-httpclient,C#,Wordpress,Dotnet Httpclient,我使用register\u rest\u route在WordPress中定义了一个路由,该路由被设置为只接受POST请求的路由: register_rest_route( 'myNamespace', '/myRoute/', array( 'methods' => 'POST', 'callback' => 'myCallbackFunction', ) ); 使用Postman对此路由发出POST请求将返回我期望的结果。但是,使用System.Net.Http.Htt

我使用
register\u rest\u route
在WordPress中定义了一个路由,该路由被设置为只接受POST请求的路由:

register_rest_route( 'myNamespace', '/myRoute/', array(
  'methods' => 'POST',
  'callback' => 'myCallbackFunction',
) );
使用Postman对此路由发出POST请求将返回我期望的结果。但是,使用
System.Net.Http.HttpClient
System.Net.HttpWebRequest
从C#应用程序发出请求时,我会收到404响应

当我使用下面的代码更改我的
register\u rest\u route
以接受GET请求时,我的请求被接收,但由于我需要在请求正文中发布值而失败

register_rest_route( 'myNamespace', '/myRoute/', array(
  'methods' => 'GET',
  'callback' => 'myCallbackFunction',
) );
这是非常奇怪的,我无法理解为什么从C#应用程序发出请求会将HttpPost转换为HttpGet请求,但在从Postman发出请求时效果非常好

我的C#应用程序使用.NET 4.8 SDK,WordPress使用WordPress 5.3.2

现在我不知道问题在哪里。起初我认为这是我的C#应用程序的问题,所以我将请求工具从HttpWebRequest更改为HttpClient,但这并没有解决问题。然后我认为这是PHP方面的问题,但是Postman工作得很好

我不明白请求方法在传输过程中是如何变化的?

您能分享尝试发出请求的C#代码吗?@Ant check out及其注释。也就是说,根据您发送的参数,您可以考虑将PHP中的<代码> $POST <代码>改为<代码> $i请求<代码>,这应该同时处理这两个代码。