C# 用C重写Curl#

C# 用C重写Curl#,c#,php,rest,api,httpwebrequest,C#,Php,Rest,Api,Httpwebrequest,我试图发出post请求,但在响应中不断收到错误400错误请求 请求是为客户上传pdf文件。文档中提供的示例是一个curl命令,我很难用C重新创建它# 这是旋度示例: curl -F "metadata=<test.json" -F "payload=@test.pdf" https://api.company.com/v1/documents/customer/customer-<Customer's GUID>/upload?authentication=<token&

我试图发出post请求,但在响应中不断收到错误400错误请求

请求是为客户上传pdf文件。文档中提供的示例是一个curl命令,我很难用C重新创建它#

这是旋度示例:

curl -F "metadata=<test.json" -F "payload=@test.pdf" https://api.company.com/v1/documents/customer/customer-<Customer's GUID>/upload?authentication=<token>;

curl-F“metadata=Is”这是代表客户的独特指南。“令牌”也是唯一标识符。在代码中,它似乎不是唯一的。您正在添加“很抱歉造成混淆。我只是在使用HttpWebRequest而不是WebRequest(HttpWebRequest req=(HttpWebRequest)HttpWebRequest.Create(@”“+token);同时使用UserAgent:req.UserAgent=“Mozilla/4.0(兼容;MSIE 6.0;Windows NT 5.1;SV1;.NET CLR 1.1.4322;.NET CLR 2.0.50727)”;
 byte[] pdfFile = File.ReadAllBytes(document path);
 string document = Convert.ToBase64String(pdfFile);

 Document docToUpload = new Document();
 docToUpload.name = "testDoc";
 docToUpload.format = "PDF";
 docToUpload.description = "this is a test";
 docToUpload.category = "19";

 List<Document> docs = new List<Document>();
 docs.Add(docToUpload);

 DocumentObjects docObject = new DocumentObjects();
 docObject.document = docs;

 //convert object to JSON 
 string postData = JsonConvert.SerializeObject(docObject);

  WebRequest docRequest = WebRequest.Create("https://api.company.com/v1/documents/customer/customer-"+customerGuid+"/upload?authentication=" + token);

  using (var streamWriter = new StreamWriter(docRequest.GetRequestStream()))
  {
     streamWriter.Write(postData);
  }

  var responsedoc = (HttpWebResponse)docRequest.GetResponse();

  using (var streamReader = new StreamReader(responsedoc.GetResponseStream()))
  {
    result = streamReader.ReadToEnd();
    Console.WriteLine(result);
  }