Vb6 发送请求时出现易趣交易API运行时错误

Vb6 发送请求时出现易趣交易API运行时错误,vb6,ebay-api,Vb6,Ebay Api,我在发送GeteBayDetails请求时遇到问题。 我使用VB6代码,是的,我知道FindPopularItems、GeteBayTime等, 而且效果很好 Private Sub Command1_Click() Dim httpCnct As XMLHTTP40 Dim xmlDoc As FreeThreadedDOMDocument40 Dim ebayurl As String Dim devid As String Dim appid As String Dim certid A

我在发送GeteBayDetails请求时遇到问题。 我使用VB6代码,是的,我知道FindPopularItems、GeteBayTime等, 而且效果很好

Private Sub Command1_Click()

Dim httpCnct As XMLHTTP40
Dim xmlDoc As FreeThreadedDOMDocument40
Dim ebayurl As String
Dim devid As String
Dim appid As String
Dim certid As String
Dim xmlstring As String
Dim ebaytoken As String
Dim title As String
Dim itemid As String
Dim price As String

ebayurl = "http://open.api.sandbox.ebay.com/shopping?"

Set httpCnct = CreateObject("Msxml2.XMLHTTP.4.0")

httpCnct.open "POST", ebayurl, False

httpCnct.setRequestHeader "X-EBAY-API-APP-ID", appid
httpCnct.setRequestHeader "X-EBAY-API-VERSION", "857"
httpCnct.setRequestHeader "X-EBAY-API-SITE-ID", "3"
httpCnct.setRequestHeader "X-EBAY-API-CALL-NAME", "FindPopularItems"
httpCnct.setRequestHeader "X-EBAY-API-REQUEST-ENCODING", "XML"

xmlstring = "<?xml version=""1.0"" encoding=""utf-8""?>" & _
  "<FindPopularItemsRequest xmlns=""urn:ebay:apis:eBLBaseComponents"">" & _
  "<QueryKeywords>Camera</QueryKeywords>" & _
  "</FindPopularItemsRequest>"

httpCnct.send xmlstring  'xmlDoc   Sending the raw string works.
但是当我使用API测试工具中的url、标题和xml稍微修改代码时, 像这样:

ebayurl = "https://api.sandbox.ebay.com/ws/api.dll"

Set httpCnct = CreateObject("Msxml2.XMLHTTP.4.0")

httpCnct.open "POST", ebayurl, False

httpCnct.setRequestHeader "X-EBAY-API-APP-ID", appid
httpCnct.setRequestHeader "X-EBAY-API-CERT-NAME", certid
httpCnct.setRequestHeader "X-EBAY-API-VERSION", "903"
httpCnct.setRequestHeader "X-EBAY-API-SITE-ID", "0"
httpCnct.setRequestHeader "X-EBAY-API-CALL-NAME", "GeteBayDetails"
httpCnct.setRequestHeader "X-EBAY-API-REQUEST-ENCODING", "XML"

xmlstring = "<?xml version=""1.0"" encoding=""utf-8""?>" & _
 "<GeteBayDetailsRequest xmlns=""urn:ebay:apis:eBLBaseComponents"">" & _
 "<RequesterCredentials> <eBayAuthToken>" & ebaytoken &     "</eBayAuthToken>" & _
 "</RequesterCredentials> </GeteBayDetailsRequest>"

httpCnct.send xmlstring  'xmlDoc   Sending the raw string works.
我明白了

运行时错误“-2146697208 800c0008”:下载指定的 资源已失败

ebaytoken已设置为我的令牌。devid、appid、certid在程序中较早设置,并且在两个实例中都相同。XML没有问题,标题和URL是来自API测试工具的

有人知道这是怎么回事吗?
谢谢

使用Fiddler或其他http流量监控工具来了解发送了什么请求以及从服务器接收了什么-不要猜。谢谢。我还是不明白。工作的请求在Fiddler中显示完整的主机和URL,并显示程序设置的所有请求头。不起作用的请求显示为“Tunnel to api.sandbox.ebay.com:443”,并且不显示任何程序集标题。它显示正文0,可能意味着什么都没有通过。我已在浏览器地址栏中键入,收到一条xml消息的响应,该消息显示在浏览器中,因此url正确,站点响应,但程序似乎没有正确发送消息。请尝试在没有任何版本的情况下使用CreateObjectMsxml2.XMLHTTP。我确实收到了对复制/粘贴代码失败的GeteBayDetails响应。这一定是你上网时的一个过滤问题。谢谢你,但没什么区别。考虑到这个问题,所谓的eBay开发者程序现在已经摆脱了API测试工具,这是唯一有用的东西,而且几乎不可能在他们的论坛上寻求帮助,我将对这个项目说不。