使用原始请求标头 C# 在请求正文中发送参数和文件

Posted

技术标签:

【中文标题】使用原始请求标头 C# 在请求正文中发送参数和文件【英文标题】:Send parameters & file in Request Body with Origin Request Header C# 【发布时间】:2020-08-03 15:36:36 【问题描述】:

我正在尝试使用原始请求标头 C# 控制台/Asp.Net(Web 表单)Web 应用程序在请求正文中发送参数和文件。 我查看了很多示例,但没有找到合适的解决方案。

我已尝试使用以下几乎可以正常工作的代码。唯一的问题是无法获得在请求正文中发送文件的任何解决方案。

 public class requestObj
        
            public string langType  get; set; 
        

protected void CreateUser_Click(object sender, EventArgs e)
        
            try
                       
                var requestObj = new requestObj
                
                    langType = "aaa"
                ;

                var client = new RestSharp.RestClient(url);
                client.Timeout = -1;
                var request = new RestSharp.RestRequest(RestSharp.Method.POST);
                request.AddHeader("Origin", "http://localhost:8080");
                request.AddJsonBody(requestObj);
                var response = client.Execute(request);
            
            catch (Exception ex)
            
                throw ex;
            
        

谢谢,

【问题讨论】:

查看***.com/questions/16416601/… 感谢您的回复...我会检查并确保检查...但是我们可以使用 WebClient 吗?你对此有什么想法吗? 【参考方案1】:

我已经按照以下方式工作了,

string url = requestUrl;
string filePath = @"F:\text.txt";


 var client = new RestSharp.RestClient(url);
                    client.Timeout = -1;
                    var request = new RestRequest(Method.POST);
                    request.AddHeader("Origin", "http://localhost:2020");
                    request.AddParameter("parameter", "parameterValue");
                    request.AddFile("file", filePath, "text/plain"); //file parameter.
                    IRestResponse response = client.Execute(request);
                    Console.WriteLine(response.Content);

【讨论】:

以上是关于使用原始请求标头 C# 在请求正文中发送参数和文件的主要内容,如果未能解决你的问题,请参考以下文章

使用“application/x-www-form-urlencoded”内容类型请求标头时,未正确发送 HttpClient 后正文参数

如何使用 C# 在 POST 请求中发送 json 数据 [重复]

RestSharp 打印原始请求和响应标头

删除带有标头和参数的请求 Volley

如何使用 axios get 请求发送正文数据和标头?

带有标头和正文的 HTTPClient 发布请求