Xml HTTPS URL在PHP中不起作用
我在SMS项目在线购物商店工作,目的是当客户下订单时,系统应在结账期间自动发送客户提供号码的SMS SMS公司为此向我们提供API文档。首先,他们需要生成会话id的身份验证过程,我们使用会话id向用户发送sms 身份验证代码:Xml HTTPS URL在PHP中不起作用,xml,https,Xml,Https,我在SMS项目在线购物商店工作,目的是当客户下订单时,系统应在结账期间自动发送客户提供号码的SMS SMS公司为此向我们提供API文档。首先,他们需要生成会话id的身份验证过程,我们使用会话id向用户发送sms 身份验证代码: $msisdn = 'abc'; $password = 'xyz'; $session_req="https://telenorcsms.com.pk:27677/corporate_sms2/api/auth.jsp?msisdn=".$msisdn."&pa
$msisdn = 'abc';
$password = 'xyz';
$session_req="https://telenorcsms.com.pk:27677/corporate_sms2/api/auth.jsp?msisdn=".$msisdn."&password=".$password;
$xmlResponse = simplexml_load_file('https://telenorcsms.com.pk:27677/corporate_sms2/api/auth.jsp?msisdn=abc&password=xyz');
$sessionID = $xmlResponse->corpsms->data;
var_dump($sessionID);
echo "Session ID: " . $sessionID;
现在的问题是我无法获取会话id。当我使用var\u dump($sessionID)时如果我试图使用echo“会话ID:”,在屏幕上显示,则会输出大于NULL的代码$会话ID代码>没有显示任何内容。如果我使用标题('Location:'。$session_req)代码>下面的代码是上面URL的响应,并成功显示会话id
成功回应:
<?xml version="1.0" encoding="UTF-8" ?>
<corpsms>
<command>Auth_request</command>
<data>Session ID</data>
<response>OK</response>
</corpsms>
提前谢谢
MUNEEB
- 将XML响应存储到PHP变量中(我们称之为$xmlResponse)
- 通过将与参数关联的API url提交到函数,您可以轻松地获得XML响应。然后使用函数将其转换为XML对象
- 该响应可作为一个响应
- 应通过以下方式访问会话ID:
$sessionID = $xmlResponse->corpsms->data;
在hostgator服务器上执行脚本时,我也面临同样的问题,但在我的localhost服务器上,它可以正常工作。您只需要在WAMP或XAMP服务器中启用OPENSSL扩展 您是否尝试过使用curl?是的,但没有找到解决方案,因为其目的是获取会话id值。$ch=curl_init();curl_setopt($ch,CURLOPT_URL,$session_req);curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);//对于SSL证书curl\u setopt($ch,CURLOPT\u SSL\u VERIFYPEER,false);$response=curl\u exec($ch);$tokens=explode(“\n”,trim($response));卷曲关闭($ch);var_dump($response);var_dump($response)的输出是什么;如果是同一个xml,您可以使用PHP SimpleXML解析器解析它并获得值,谢谢您的回答!但是问题是我如何在PHP中执行URL$session_req=“;simplexml_load_file()将执行URL并以SimpleXMLElement.hi的形式返回XML响应。我尝试了它,但sessionid没有得到:$msisdn='abc';$password='xyz';$xmlResponse=simplexml_load_file(');$sessionid=$xmlResponse->corpsms->data;echo”会话ID:“.$sessionID;好吧,请更新您的问题并将您的问题和代码放在那里,以便更好地帮助您。您无法获取会话ID,因为request get参数错误,因此标记将由错误消息代码填充。请确定$sessionID的值是多少?尝试打印(回显)解决方法:在托管服务器上执行以下步骤1)启用OPENSSL 2)请求托管提供商打开端口27677以供外部请求。
$xmlResponseString = file_get_contents($apiUrl)
$xmlResponse = simplexml_load_string($xmlResponseString);
$sessionID = $xmlResponse->corpsms->data;