问题在于解析curl命令中的正文
我使用网络应用程序执行帖子请求,并且成功了,我得到了帖子的curl命令,如下所示
curl -k -u "redacted:redacted" --ntlm "https://redacted/certsrv/certfnsh.asp" --header "Mode: newreq" --header "Content-Type: application/x-www-form-urlencoded" --data-urlencode "Mode=newreq" --data-urlencode "CertRequest=-----BEGIN NEW CERTIFICATE REQUEST-----redacted-----END NEW CERTIFICATE REQUEST-----" --data-urlencode "CertAttrib=CertificateTemplate:CertificatElasticSearch" --data-urlencode "FriendlyType=Saved-Request Certificate" --data-urlencode "TargetStoreFlags=0" --data-urlencode "SaveCert=yes"
,这工作得很好,但是当我想要另一个CertAttrib时,如下所示,curl命令没有不起作用,所以我怎么能把 CertAttrib: CertificateTemplate:Copie du modèle « Serveur Web »
作为主体,我相信问题出在特殊字符上,即使尝试使用邮递员也不起作用, 这可以工作,但将其更改为所需的 CertAttrib 不起作用
看起来您正在尝试创建多部分请求,其中生成的curl未使用多部分形式。 使用以下示例
curl -X POST --url https://httpbin.org/post \
--form Mode=newreq \
--form 'CertRequest=-----BEGIN NEW CERTIFICATE REQUEST-----redacted--- END NEW CERTIFICATE REQUEST-----' \
--form 'CertAttrib=<attributes>'
编写卷曲请求有点困难。您可以使用 https://marketplace.visualstudio.com/items?itemName=ShivaPrasanth.dothttp-code&ssr=false
通过以下代码轻松发出多部分请求。
以下内容很容易阅读。
POST "https://httpbin.org/post"
files(
("Mode", "newreq"),
("CertRequest", "-----BEGIN NEW CERTIFICATE REQUEST-----redacted--- END NEW CERTIFICATE REQUEST-----"),
("CertAttrib", "<attributes>")
)