CURL和Postman为同一请求返回两个不同的结果

时间:2019-08-12 02:10:34

标签: xml curl soap postman

我正在尝试向SOAP服务器发出HTTP POST请求。该请求在Postman上正常工作,但在curl上失败。这是一个身份验证请求,因此Postman响应为200,而curl响应为401。

卷曲请求:

curl -X POST 
-H "SOAPAction:urn:NETGEAR-ROUTER:service:DeviceConfig:1#SOAPLogin" 
-H "cache-control: 'no-cache'" 
-H "user-agent: 'node-test'" 
-H "Content-Type: text/plain" 
-H "connection: 'Keep-Alive'" 
http://routerlogin.net:5000/soap/server_sa/ 
-d "<?xml version='1.0' encoding= 'UTF-8'?>
<v:Envelope xmlns:v='http://schemas.xmlsoap.org/soap/envelope/'>
  <v:Header>
    <SessionID>********</SessionID>
  </v:Header>
  <v:Body>
    <M1:SOAPLogin xmlns:M1='urn:NETGEAR-ROUTER:service:DeviceConfig:1'>
      <Username>******</Username>
      <Password>******</Password>
    </M1:SOAPLogin>
  </v:Body>
</v:Envelope>"

邮递员请求只是上述请求的副本。我收到邮递员的以下回复:

<soap-env:Body>
   <m:SOAPLoginResponse xmlns:m="urn:NETGEAR-ROUTER:service:DeviceConfig:1">
   </m:SOAPLoginResponse>
  <ResponseCode>000</ResponseCode>
</soap-env:Body>

虽然我收到以下有关卷曲的信息:

<soap-env:Envelope
        xmlns:soap-env="http://schemas.xmlsoap.org/soap/envelope/"
        soap-env:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
        >
<soap-env:Body>
    <ResponseCode>401</ResponseCode>
</soap-env:Body>
</soap-env:Envelope>

1 个答案:

答案 0 :(得分:0)

-H'SOAPAction:“缸体:NETGEAR-ROUTER:service:DeviceConfig:1#SOAPLogin”'