我正在尝试将cURL中的POST请求发送到API,同时遵循给定的要求。
准则:
提交的内容类型应为application / json
以下是身体的结构:
名称:字符串
PhoneNumber:String
电子邮件:字符串
职位:字符串
Urls:包含以下属性的对象数组
类型:字符串
链接:字符串
所有字段均为
至少有一个带有"简历"的网址类型是必需的
对于简历,我们要求提交的格式为PDF格式
如果您的提交成功,您将收到HTTP 202回复
我相信我对我想用JSON发送的所有数据都有正确的语法,但我不确定如何在同一请求中上传PDF。
到目前为止,这是我的语法。
curl -i -H "Accept: application/json" -H "Content-Type: application/json" -
X POST -d '{"json":{"Name":"data"}}' -d '{"json":
{"PhoneNumber":"data"}}' -d '{"json":{"Email":"data"}}' -d '{"json":
{"Position":"data"}}' https://example
当我在命令行输入此内容时,我收到了一条“HTTP 400错误请求”#39;回应当然我正在拍摄202回应。
我主要用Python和R编程,所以使用cURL对我来说是新的。任何帮助,所以我可以发送此应用程序非常感谢。如果您需要更多信息,请告诉我。
答案 0 :(得分:0)
传递多个-d
会使数据片段作为&
分隔的参数列表传递,即-d data1 -d data2
将导致在http请求体中传递data1&data2
。
您需要一次性传递整个JSON字符串:
curl -i -H "Accept: application/json" -H "Content-Type: application/json" -X POST
-d '{"Name":"data", "PhoneNumber":"data", "Email":"data", "Position":"data"}'
https://example
N.B。注意"
之后的结束"Content-Type: application/json
。
答案 1 :(得分:-1)
试试这个吧!
try{
var httpclient = new HttpClient();
Urls[] url = new Urls[]
{
new Urls("Resume", "https://my.pcloud.com/publink/show?code=XZV0YvZyqR708s0VNkTCMigM8AvdyEhE59y")
};
var envocdata = new envoc_data
{
Name = "Prasanna",
PhoneNumber = "data",
Email = "prasannadata@gmail.com",
Position = "Xamarin Developer",
Urls = url
};
var json = JsonConvert.SerializeObject(envocdata);
HttpContent httpcontent = new StringContent(json);
httpcontent.Headers.ContentType = new System.Net.Http.Headers.MediaTypeHeaderValue("application/json");
var result = await httpclient.PostAsync("http://envoc-apply-api.azurewebsites.net/api/apply", httpcontent);
}
catch (Exception ex)
{
DisplayAlert("", ""+ex.Message, "Ok");
}