使用C#向URL发送POST请求

3

我有一个托管在Azure上的Node服务器,可以向API发送POST请求以执行某些功能。 API本身有效,我已经使用Post Man进行了测试。

调用API可能是这样的..

http://website.com/api/Foo?name=bar&second=example

这不一定需要返回任何内容,因为调用是静默的,并在后台执行某些操作。(注意:也许它必须返回一些东西,这是我对这个概念理解的漏洞?)


如何使用C#向此URL发出网络请求?

我已经根据传递给我的方法的参数构建了URL(所以像上面的名称和类型可以是任何传递给该方法的参数)

我无法正确地将数据POST到该URL。

这是我尝试过的代码..

        void MakeCall(string name, string second)
        {
           string url = "http://website.com/api/Foo?name="+name+"&second="+second;
           HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
           request.Method = "POST";
           request.ContentType = "application/json";
           request.ContentLength = url.Length;
           HttpWebResponse response = (HttpWebResponse)request.GetResponse();
        }
1个回答

2
您需要创建一个请求流并向其写入数据,这里的链接提供了几种方法来实现,可以使用HttpWebRequestHttpClient或第三方库:使用C#发送POST请求。请注意保留HTML标签。

谢谢你指引我正确的方向,丹。现在一切都正常了,我使用了你提供链接中提到的第三种方法。 - Bejasc

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接