嘿我怎么能用C#代码复制它。我把文件作为byte []或stream form。
$ curl https://someaddress.com/
-F parameter1='abc123' \
-F file=@myfile.someextension \
-F parameter2='abc123'
[UPDATE]
我已经尝试过RestSharp但是我得到了状态代码为0的响应。实际上它似乎并没有发送请求。 {"底层连接已关闭:发送时出现意外错误。"}
var client = new RestClient("https://someaddress.com");
RestRequest request = new RestRequest("/",Method.POST);
request.AddHeader("Content-Type", "multipart/form-data");
request.AddHeader("Accept", "application/json");
request.AddParameter("parameter1", "abc123");
request.AddParameter("parameter2", "abc123");
request.AddFile("fileData", fileStream.CopyTo, filename);
//request.AddFile("fileData", fileByteArray, filename);
var response= client.Execute(request);
[更新2]
这是我在响应ErrorException字段中可以看到的堆栈跟踪。
InnerException = {"Unable to read data from the transport connection: An existing connection was forcibly closed by the remote host."}
at System.Net.HttpWebRequest.GetRequestStream(TransportContext& context)
at System.Net.HttpWebRequest.GetRequestStream()
at RestSharp.Http.WriteRequestBody(HttpWebRequest webRequest)
at RestSharp.Http.PostPutInternal(String method)
答案 0 :(得分:1)
经历过同样的问题(105.2.3),经过一些研究,我们决定获取源并跟踪它。但是,在构建之后,问题就解决了。
答案 1 :(得分:0)
是的,您可以使用HttpWebRequest Class
(或者)您可以RestSharp NuGet Package使用相同的
答案 2 :(得分:0)
我尝试过使用HttpWebRequest Class或其他项目,但没有。我也尝试下载并构建项目,但它没有用。过了一段时间后,我发现问题是安全协议。所以我添加了这一行并且它有效。
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;