我正在使用此代码,而是返回lcResultText
我期望的响应
我回来了结果:
Auth failure needs full credentials
这是我的代码:
LOCAL xhr xhr = CREATEOBJECT("Microsoft.XMLHTTP")
xhr.Open("post", "https://api.ahds.com/ext/apitest.php",.f.,"qqq","qqqq")
xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded') xhr.send("custid="+"wwwaaaaaaa"+"&username="+"daaaaaad"+"&password="+"aaaaaaaa"+"&data="+lcMyData)
PUBLIC lcResultText
DO WHILE .T.
IF XHR.readyState =4 EXIT XHR.readyState
ENDIF
?XHR.readyState
ENDDO ?XHR.readyState ?xhr.status
lcResultText = xhr.responseText
? lcResultText xhr = null
Function UrlEncode( tcValue, llNoPlus )
LOCAL lcResult, lcChar, lnSize, lnX
* Do it in VFP Code
lcResult=""
FOR lnX=1 to len(tcValue)
lcChar = SUBSTR(tcValue,lnX,1)
IF ATC(lcChar,"ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789") > 0
lcResult=lcResult + lcChar
LOOP
ENDIF
IF lcChar=" " AND !llNoPlus
lcResult = lcResult + "+"
LOOP
ENDIF
* Convert others to Hex equivalents
lcResult = lcResult + "%" + RIGHT(transform(ASC(lcChar),"@0"),2)
ENDFOR
RETURN lcResult
答案 0 :(得分:0)
此处的基本XHR是正确的,但您没有为https://api.ahds.com/ext/apitest.php
服务提供足够的凭据。您需要联系 ahds.com 以获取其API期望提供身份验证凭据的正确格式。
最有可能的是,他们希望将它们添加到HTTP标头中,类似于您现有使用xhr.setRequestHeader
添加 Content_Type 标头。