Postman 的 restsharp 代码片段在 winforms c# 中不起作用
Postman's restsharp code snippet not working in winforms c#
我必须向远程 Web 服务发送两个参数:firmaNo 和 irsaliyeData。 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 解决了我的问题。
感谢大家的帮助。
我必须向远程 Web 服务发送两个参数:firmaNo 和 irsaliyeData。 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 解决了我的问题。
感谢大家的帮助。