从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请求<代码>,这应该同时处理这两个代码。