我正在使用python和suds soap客户端编写自动交易机器人。
我想知道是否可以通过使用持久性 SOAP 调用来提高速度。(就像在 RESTful 服务中使用会话一样(。
这是我的请求:
DEBUG:suds.client:sending to (http://api.betdaq.com/v2.0/ReadOnlyService.asmx)
message:
<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope xmlns:ns0="http://www.GlobalBettingExchange.com/ExternalAPI/" xmlns:ns1="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:None="http://www.GlobalBettingExchange.com/ExternalAPI/" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP-ENV:Header>
<ns0:ExternalApiHeader xmlns="http://www.GlobalBettingExchange.com/ExternalAPI/" version="2" languageCode="en" username="****" password="****" applicationIdentifier="***"/>
</SOAP-ENV:Header>
<ns1:Body>
<ns0:GetPrices>
<getPricesRequest xmlns="http://www.GlobalBettingExchange.com/ExternalAPI/" NumberForPricesRequired="1" NumberAgainstPricesRequired="1">
<MarketIds>9430420</MarketIds>
</getPricesRequest>
</ns0:GetPrices>
</ns1:Body>
</SOAP-ENV:Envelope>
我得到的回应是:
DEBUG:suds.client:headers = {'SOAPAction': u'"http://www.GlobalBettingExchange.com/ExternalAPI/GetPrices"', 'Content-Type': 'text/xml; charset=utf-8'}
DEBUG:suds.client:http succeeded: *long xml here*
如您所见,我在每个xml请求中使用了用户名和密码的标头。但是当我得到响应时,标题中没有cookie。
我想知道是否可以以某种方式在我的请求中插入 cookie 或类似的东西来实现持久性。(就像在 RESTful 服务中使用会话一样(
No.您受服务器响应的摆布 - 我知道它不会返回任何 cookie。
存在一个极端情况,用于抢劫HTTP基本身份验证,允许抢占式发送凭据,但不适用。
确保重复使用 HTTPS 连接。