C# 用C重写Curl#
我试图发出post请求,但在响应中不断收到错误400错误请求 请求是为客户上传pdf文件。文档中提供的示例是一个curl命令,我很难用C重新创建它# 这是旋度示例: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&
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);
}