我有这段代码,我正试图将其转换为 RestSharp。为了清楚起见,我删除了 using block 以对其进行压缩。
using System.IO;
using System.Net;
using RestSharp;
string GetResponse(string url,string data)
{
var request = (HttpWebRequest)WebRequest.Create(url);
request.Method = "POST";
request.ContentType = "application/x-www-form-urlencoded";
var bytes = Encoding.UTF8.GetBytes(data);
request.ContentLength = bytes.Length;
request.GetRequestStream().Write(bytes, 0, bytes.Length);
var response = (HttpWebResponse)request.GetResponse();
var stream = response.GetResponseStream();
if (stream == null) return string.Empty;
var reader = new StreamReader(stream);
return reader.ReadToEnd();
}
我尝试了一些顺序:
string GetResponse(string url, string data)
{
var client = new RestClient(url);
var request = new RestRequest("", RestSharp.Method.POST);
request.AddParameter("application/x-www-form-urlencoded", data);
var response = client.Execute(request);
return response.Content;
}
我似乎无法使用 RestSharp 发布请求,在 application/x-form-urlencoded
中发送 POST 请求的正确格式是什么?
最佳答案
所以事实证明参数都已经在数据字符串中序列化了。而我需要手动将它们添加到 RestSharp 请求中。
foreach (var pair in data)
{
request.AddParameter(pair.Key, pair.Value);
}
其中数据是键/值对结构
关于c# - 如何在 RestSharp 中发送 POST 请求?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12083630/