我正在尝试使用PHP访问SOAP API,为此我需要使用PHP cURL在我的计算机上下载WSDL描述文件的副本。
这是我正在使用的代码:
<?php
$ch = curl_init();
$credit = ('some_username'.':'.'some_password');
curl_setopt($ch, CURLOPT_URL, 'https://somevalidaddress/file.asmx?WSDL');
curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
curl_setopt($ch, CURLOPT_USERPWD, $credit);
curl_setopt($ch, CURLOPT_TIMEOUT, 30);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$data = curl_exec($ch);
curl_close($ch);
$path = 'C:\Wamp\www\mmx\test2.xml';
file_put_contents($path, $data);
?>
文件test2.xml在第345行包含 每次 (总共684行)一个随机字符(例如ø,@或VT,等等。)。此外,该文件的 最后一个字符 是 剥离 。
我用谷歌搜索了这个东西,我读到了关于逐个错误和缓冲区溢出的问题但是,我仍然无法解决我的问题。
有什么想法吗?谢谢!
答案 0 :(得分:0)
如何使用它:
$context = stream_context_create(array(
'http' => array(
'header' => "Authorization: Basic " . base64_encode("$username:$password")
)
));
$data = file_get_contents('https://somevalidaddress/file.asmx?WSDL', false, $context);