curl ConfigMgr Web服务API调用

tkqqtvp1  于 2022-11-13  发布在  其他
关注(0)|答案(1)|浏览(118)

目前,我尝试通过api将应用程序与ConfigMgr Webservice连接,但通过curl发送SOAP API请求时,总是出现400错误。
我们正在编写自己的应用程序来与SCCM“对话”,因为我们不能使用PowerShell(公司限制的原因),所以我们尝试使用ConfigMgr Webservice。这里有没有人对这个小API有一些经验,可以为我指出使用它的正确方向?
现在我尝试得到这个端点GetCWVersion
如果你需要更多的信息,只是问!

t1rydlwq

t1rydlwq1#

我使用Python解决了这个问题,而不是在curl中进行测试。使用requests库,这相当简单。

"""Just an example for a soap request"""
import requests

host = "host"
secret = "secret"
filter = "filter"

url = "https://" + host + "/ConfigMgrWebService/ConfigMgr.asmx"
payload ="""<?xml version="1.0" encoding="utf-8"?>
            <soap12:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://www.w3.org/2003/05/soap-envelope">
                <soap12:Body>
                    <GetCMDeviceCollections xmlns="http://www.scconfigmgr.com">
                    <secret>{secret}</secret>
                    <filter>{filter}</filter>
                    </GetCMDeviceCollections>
                </soap12:Body>
            </soap12:Envelope>""".format(secret=secret, filter=filter)
headers = {
     'Content-Type': 'application/soap+xml; charset=utf-8'
}
    
response = requests.request("POST", url, headers=headers, data=payload, verify = False)
print(response.text)

相关问题