如何解决根据RestSharp请求从文本生成Multipart表单数据正文
我正在尝试使用RestSharp获得基本的登录功能。我有登录用户名和密码作为文本,我需要进行某种转换,因为服务器将请求作为multipart / form-data接受,而我的最初尝试是:
RestRequest request = new RestRequest(resource,Method.POST);
request.AddParameter("login",config.Login,ParameterType.RequestBody);
request.AddParameter("pass",config.Password,ParameterType.RequestBody);
仅是为了找出答案,我无法为请求正文添加两个参数,该参数会丢弃除第一个以外的所有参数。所以我的下一个尝试是构建requestBody:
MultipartFormDataContent formData = new MultipartFormDataContent();
formData.Add(new StringContent(config.Login),"login");
formData.Add(new StringContent(config.Password),"pass");
request.AddBody(formData);
这也不起作用,只是返回了封闭元素
最后,我试图仅将它们作为post params而不是body作为参数传递,考虑到期望的是我猜想的形式,它似乎只是被忽略了:
request.AddParameter("login",JsonConvert.SerializeObject(config.Login),ParameterType.GetOrPost);
request.AddParameter("pass",JsonConvert.SerializeObject(config.Password),ParameterType.GetOrPost);
我正在寻找有关如何以某种方式转换和发送此文本作为有效表格数据的任何提示。使用HTTPWebRequest而不是RestSharp看起来更容易,但是令我感到困扰的是我确信这是可能的。
非常感谢!
解决方法
事实证明,RestSharp生成的默认标头发送带引号的border参数,而我的端点接收的引号不带引号,因此我需要一个较低级的接口,最终可以为带有符合我需求的HttpWebRequest和MediaHeadervalue。谢谢大家的光临!
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。