您好我正在尝试开发一个可以通过使用php cURL向Web服务器发送请求的html应用程序,我的问题是每当我测试它我得到一个保留XML名称的错误,我使用一个表格与post方法btw。
奇怪的是当我在php中输入xml作为字符串时它可以工作但是通过使用html通过post方法我得到了这个错误。是不是输入类型值已经是一个字符串所以它应该与php中的硬编码xml字符串具有相同的结果?
应用程序使用UI的html文件,以便用户可以编辑xml中的值,并通过使用post方法在我的php脚本中调用cURL请求。如果有另外一种方法来提出这样的要求,我的方法是错误的吗?
我的代码示例:
if($_POST['option'] == "SmacMembers"){
$member= ($_POST['gmember']);
echo $member;
$URL = "https://localhost/globe2smac-fh3/api/";
$ch = curl_init($URL);
curl_setopt($ch, CURLOPT_MUTE, 1);
curl_setopt($ch, CURLOPT_USERPWD, "michael:kel");
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('ContentType:text/xml'));
curl_setopt($ch, CURLOPT_POSTFIELDS, $member);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$output = curl_exec($ch);
curl_close($ch);
echo $output;
}
和textarea的示例XML请求
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE OlsRequestFormat SYSTEM "OlsRequestFormat.dtd">
<methodCall>
<methodName>smac.members</methodName>
<params>
<param>
<value>
<string>
<?xml version="1.0"?>
<globetosmac>
<functioncode>smac_members</functioncode>
<cardnumber>8880999521960565</cardnumber>
<transaction_id>12345678</transaction_id>
</globetosmac>
</string>
</value>
</param>
</params>
</methodCall>