【发布时间】:2020-11-27 19:23:02
【问题描述】:
我正在尝试使此代码在端点返回数据,但它返回此错误string(69) "Error: This method supports only XML ExceptionType: System. Exception"。我试过检查它的含义,但无法弄清楚。
代码分为两部分,第一部分转储$result 数组变量运行良好。 $resResult 的第二个转储是问题所在。这意味着调用第一个端点运行良好,但调用第二个端点一直失败。
代码 PHP
$username = '73ec71d0a809/Markettrendsintl';
$password = 'Market@123';
$surveyID = '47f2-bfe4-db0eb01d1049';
$endpoint = 'https://api.dooblo.net/newapi/SurveyInterviewIDs?surveyIDs='.$surveyID;
$credentials = base64_encode("$username:$password");
$headers = [];
$headers[] = "Authorization: Basic {$credentials}";
$headers[] = 'Content-Type: application/x-www-form-urlencoded';
$headers[] = 'Cache-Control: no-cache';
$headers1 = [];
$headers1[] = "Authorization: Basic {$credentials}";
$headers1[] = 'Content-Type: text/xml';
$headers1[] = 'Cache-Control: no-cache';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $endpoint);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'GET');
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$result[] = curl_exec($ch);
/*---------New Code -----------------*/
$counter = 0;
$interviewIdsInCurPack = '';
for ($i=0; $i < count($result); $i++) {
$interviewIdsInCurPack = sprintf("{0},{1}", $interviewIdsInCurPack, $result[$i]);
$counter += 1;
$lastInterviewID = $i==$result[$i];
if ($counter == 99 || $lastInterviewID) {
$interviewIdsInCurPack = substr_replace($interviewIdsInCurPack, 0, 1);
$urlInterviewData = sprintf("https://api.dooblo.net/newapi/SurveyInterviewData?subjectIDs={0}&surveyID={1}&onlyHeaders=false&includeNulls=false", $interviewIdsInCurPack, $surveyID);
// print($urlInterviewData);
$sender = curl_init();
curl_setopt($sender, CURLOPT_URL, $urlInterviewData);
curl_setopt($sender, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($sender, CURLOPT_CUSTOMREQUEST, 'GET');
curl_setopt($sender, CURLOPT_HTTPHEADER, $headers1);
$resResult = curl_exec($sender);
var_dump($resResult);
}
}
【问题讨论】:
标签: php curl endpoint surveytogo