发布请求xNet多部分表单数据存在问题,当我向站点发送POST请求时,结果是这样的。
------------------XuqO7YJ0oOIkJ67P
Content - Disposition: form - data; name = "login"
Login
------------------XuqO7YJ0oOIkJ67P
Content - Disposition: form - data; name = "password"
Password
------------------XuqO7YJ0oOIkJ67P
Content - Disposition: form - data; name = "g-recaptcha-response"
Key
------------------XuqO7YJ0oOIkJ67P--
在网站上,这是类似的POST请求的样子
------WebKitFormBoundary77ij9GXAZuqGgd4l
Content - Disposition: form - data; name = "login"
Login
------WebKitFormBoundary77ij9GXAZuqGgd4l
Content - Disposition: form - data; name = "password"
Password
------WebKitFormBoundary77ij9GXAZuqGgd4l
Content - Disposition: form - data; name = "g-recaptcha-response"
Key
------WebKitFormBoundary77ij9GXAZuqGgd4l--
这里唯一的区别是WebKitFormBoundary。 与Content-Type完全一样。 因此,问题在于该站点不想授权我,这会导致错误。因此,由于WebKitFormBoundary一词的差异,我无法理解它的含义。或不。如果是这样,我如何添加这个词WebKitFormBoundary,以使所有内容看起来都与站点相同。我使用xNet。
代码:
HttpRequest httpRequest = new HttpRequest();
httpRequest.KeepAlive = true;
httpRequest.Cookies = new CookieDictionary();
httpRequest.UserAgent = Http.ChromeUserAgent();
httpRequest.Referer = "http://test.su/login";
httpRequest.AddHeader("Accept", "*/*");
httpRequest.AddHeader("X-Requested-With", "XMLHttpRequest");
var multipartContent = new MultipartContent()
{
{new StringContent(Login), "login"},
{new StringContent(Password), "password"},
{new StringContent(token), "g-recaptcha-response"}
};
string response = httpRequest.Post("https://test.su/login", multipartContent).ToString();