Postman 的 restsharp 代码片段在 winforms c# 中不起作用

Postman's restsharp code snippet not working in winforms c#

我必须向远程 Web 服务发送两个参数:firmaNoirsaliyeData。 firmaNo 是 numeric 而 irsaliyeData 是 json object。我已经用 Postman 试过了,没有任何问题。但我必须为我的公司使用 c# 桌面应用程序来完成它。

我手动输入参数并使用 Postman 将它们发送到 Web 服务,服务器返回了有效值。 Postman 生成了以下代码 (c#-RestSharp):

var client = new RestClient("https://remoteserver.com/webservice");
var request = new RestRequest(Method.POST);

request.AddHeader("content-type", "multipart/form-data; boundary=----WebKitFormBoundary7MA4YWxkTrZu0gW");
request.AddParameter("multipart/form-data; boundary=----WebKitFormBoundary7MA4YWxkTrZu0gW", "------WebKitFormBoundary7MA4YWxkTrZu0gW\r\nContent-Disposition: form-data; name=\"firmaNo\"\r\n\r\n2000007\r\n------WebKitFormBoundary7MA4YWxkTrZu0gW\r\nContent-Disposition: form-data; name=\"irsaliyeData\"\r\n\r\n{   \"rampaNoktasi\": 21,   \"dosyaTarihi\": \"16.12.2016 17:37\"   }\r\n------WebKitFormBoundary7MA4YWxkTrZu0gW--", ParameterType.RequestBody);

IRestResponse response = client.Execute(request);

但是当我将此代码复制并粘贴到我的 c# winform 应用程序的按钮单击事件处理程序时,服务器总是 returns 超时错误。

var client = new RestClient("https://remoteserver.com/webservice");
var request = new RestRequest(Method.POST);

request.AddHeader("content-type", "multipart/form-data; boundary=----WebKitFormBoundary7MA4YWxkTrZu0gW");
request.AddParameter("multipart/form-data; boundary=----WebKitFormBoundary7MA4YWxkTrZu0gW", "------WebKitFormBoundary7MA4YWxkTrZu0gW\r\nContent-Disposition: form-data; name=\"firmaNo\"\r\n\r\n2000007\r\n------WebKitFormBoundary7MA4YWxkTrZu0gW\r\nContent-Disposition: form-data; name=\"irsaliyeData\"\r\n\r\n" + jsonstring + "\r\n------WebKitFormBoundary7MA4YWxkTrZu0gW--", ParameterType.RequestBody);

IRestResponse response = client.Execute(request);
lbl_result.Text = response.Content + response.ErrorMessage;

我是否必须在当前的 cs 文件或 app.config 文件中添加一些代码。我卡在这一点上了。

提前致谢。

我使用 WebClient 方法而不是 RestSharp 解决了我的问题。

感谢大家的帮助。