如何发送站点Api的POST请求?

时间:2016-11-06 11:05:39

标签: c#

我学习Web应用程序的Api并使用C#发送请求。 Api使用Json格式,我使用此代码发送POST:

private static string Post(string Url, string Data)
    {
        var req = WebRequest.Create(Url);
        req.Method = "POST";
        req.Timeout = 100000;
        req.ContentType = "application/json";
        var sentData = Encoding.GetEncoding(1251).GetBytes(Data);
        req.ContentLength = sentData.Length;
        var sendStream = req.GetRequestStream();
        sendStream.Write(sentData, 0, sentData.Length);
        sendStream.Close();
        var res = req.GetResponse();
        var receiveStream = res.GetResponseStream();
        var sr = new StreamReader(receiveStream, Encoding.UTF8);
        //Кодировка указывается в зависимости от кодировки ответа сервера
        var read = new Char[256];
        var count = sr.Read(read, 0, 256);
        var Out = String.Empty;
        while (count > 0)
        {
            var str = new String(read, 0, count);
            Out += str;
            count = sr.Read(read, 0, 256);
        }
        return Out;
    }

我这样使用它,但它不起作用:

POST(@"https://mysite.ru/api.php/methodApi?id=2091&access_token=mytoken", "\"parameter\": \"value\""); 

我理解正确,参数发送数据?我从不使用任何API,可能做错了什么?

感谢您的回答并抱歉我的英语。

0 个答案:

没有答案