我目前正在尝试重现以下POST请求:
现在我的代码我得到了这个:
我假设第一个键是使用添加的
System.Net.Http.StringContent
不幸的是,我找不到另一种方法来制作它。
我目前正在使用.NET Core C#。 所以我的代码是使用httpclient构建的。为了在较少(但丑陋的代码)中重现问题,我很快将一些代码粘贴在一起。
如何才能获得与第一张图片相同的帖子请求?
我的代码:
String lMultipartBoundary = Guid.NewGuid().ToString();
MultipartFormDataContent lMultipartContent = new MultipartFormDataContent(lMultipartBoundary);
string header = string.Format("--{0}", lMultipartBoundary);
string footer = string.Format("--{0}--", lMultipartBoundary);
StringBuilder contents = new StringBuilder();
contents.AppendLine(header);
contents.AppendLine(String.Format("Content-Disposition: form-data; name=\"{0}\"", "adult"));
contents.AppendLine();
contents.AppendLine("1");
contents.AppendLine(header);
contents.AppendLine(String.Format("Content-Disposition: form-data; name=\"{0}\"", "thumb_size_contaner"));
contents.AppendLine();
contents.AppendLine("1");
contents.AppendLine(header);
contents.AppendLine(String.Format("Content-Disposition: form-data; name=\"{0}\"", "simple_upload"));
contents.AppendLine();
contents.AppendLine("Upload");
contents.AppendLine(footer);
lMultipartContent.Add(new StringContent(contents.ToString()));
var lFileInfo = new System.IO.FileInfo(@"D:\_Dev\Resources\trainee_iconset_226_icons_by_emey87-d36v4yq\48 px web icons\PNG\basketball.png");
ByteArrayContent fileContent = new ByteArrayContent(System.IO.File.ReadAllBytes(@"D:\_Dev\Resources\trainee_iconset_226_icons_by_emey87-d36v4yq\48 px web icons\PNG\basketball.png"));
fileContent.Headers.ContentDisposition = new ContentDispositionHeaderValue("form-data")
{
Name = "\"uploaded\"",
FileName = "\"" + lFileInfo.Name + "\""
};
fileContent.Headers.ContentType = MediaTypeHeaderValue.Parse("image/png");
lMultipartContent.Add(fileContent);
lMultipartContent.Headers.Add("Origin", "https://imgtaxi.com");
var result = await client.PostAsync("/upload.php", lMultipartContent);
var lresponseJson = await result.Content.ReadAsStringAsync();
非常感谢。