如何从命令行使用cURL将XML文件发布到本地服务器http://localhost:8080
?
我应该使用什么命令?
发布于 2013-03-13 05:58:02
使用Jenkins 1.494,我可以使用带有--form
参数的curl
将文件发送到Ubuntu Linux12.10上的作业参数:
curl --form name=myfileparam --form file=@/local/path/to/your/file.xml \
-Fjson='{"parameter": {"name": "myfileparam", "file": "file"}}' \
-Fsubmit=Build \
http://user:password@jenkinsserver/job/jobname/build
在Jenkins服务器上,我配置了一个接受单个参数的作业:一个名为myfileparam
的文件上传参数。
curl调用的第一行构造了一个web表单,其中包含一个名为myfileparam
的参数(与作业中的参数相同);它的值将是本地文件系统上名为/local/path/to/your/file.txt
的文件的内容。@
符号前缀告诉curl发送本地文件,而不是给定的文件名。
第二行定义了一个与第一行的表单参数匹配的JSON请求:一个名为myfileparam
的文件参数。
第三行激活表单的Build按钮。第四行是带有"/build“后缀的作业URL。
如果此调用成功,curl将返回0
。如果失败,来自服务的错误或异常将打印到控制台。这个答案需要从an old blog post relating to Hudson中学到很多,我根据自己的需要对它进行了解构和重新工作。
发布于 2013-11-21 00:16:42
下面是如何在Windows上使用curl命令行发布XML。最好使用批处理/.cmd文件:
curl -i -X POST -H "Content-Type: text/xml" -d ^
"^<?xml version=\"1.0\" encoding=\"UTF-8\" ?^> ^
^<Transaction^> ^
^<SomeParam1^>Some-Param-01^</SomeParam1^> ^
^<Password^>SomePassW0rd^</Password^> ^
^<Transaction_Type^>00^</Transaction_Type^> ^
^<CardHoldersName^>John Smith^</CardHoldersName^> ^
^<DollarAmount^>9.97^</DollarAmount^> ^
^<Card_Number^>4111111111111111^</Card_Number^> ^
^<Expiry_Date^>1118^</Expiry_Date^> ^
^<VerificationStr2^>123^</VerificationStr2^> ^
^<CVD_Presence_Ind^>1^</CVD_Presence_Ind^> ^
^<Reference_No^>Some Reference Text^</Reference_No^> ^
^<Client_Email^>john@smith.com^</Client_Email^> ^
^<Client_IP^>123.4.56.7^</Client_IP^> ^
^<Tax1Amount^>^</Tax1Amount^> ^
^<Tax2Amount^>^</Tax2Amount^> ^
^</Transaction^> ^
" "http://localhost:8080"
发布于 2017-12-31 13:43:57
您可以使用以下命令:
curl -X POST --header 'Content-Type: multipart/form-data' --header 'Accept: application/json' --header 'Authorization: <<Removed>>' -F file=@"/home/xxx/Desktop/customers.json" 'API_SERVER_URL' -k
https://stackoverflow.com/questions/3007253
复制相似问题