Php 如何将curl与代理和日文xml响应一起使用

Php 如何将curl与代理和日文xml响应一起使用,php,curl,proxy,Php,Curl,Proxy,我已经有了一个工作curl,但我只能测试非代理站点 $ch = curl_init(); curl_setopt($ch, CURLOPT_URL,$url); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); $data = curl_exec($ch); curl_close($ch); 但是我需要它能够通过api中的代理(socks5)进行连接,我可以通过使

我已经有了一个工作curl,但我只能测试非代理站点

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

$data = curl_exec($ch);
curl_close($ch);
但是我需要它能够通过api中的代理(socks5)进行连接,我可以通过使用firefox并更改代理设置来测试这一点,api将返回一个带有日文字符的xml。

//使用curl进行连接
// connect using curl
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,$url);

// put the proxy settings here
curl_setopt($ch, CURLOPT_PROXY,$proxyHost);         
curl_setopt($ch, CURLOPT_PROXYPORT,$proxyPort);

// connect with socks5
curl_setopt($ch, CURLOPT_PROXYTYPE, CURLPROXY_SOCKS5);

curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

// get the response and close curl connection
$data = curl_exec($ch);
curl_close($ch);

// Convert the return to xml object
$sXML = $data;
$oXML = new SimpleXMLElement($sXML);

// show it in the browser, this is optional.
echo '<pre>';       
var_dump($oXML);
echo </pre>;
$ch=curl_init(); curl_setopt($ch,CURLOPT_URL,$URL); //将代理设置放在这里 curl_setopt($ch,CURLOPT_PROXY,$proxyHost); curl_setopt($ch,CURLOPT_PROXYPORT,$PROXYPORT); //用插座5连接 curl_setopt($ch,CURLOPT_PROXYTYPE,CURLPROXY_SOCKS5); curl_setopt($ch,CURLOPT_FOLLOWLOCATION,1); curl_setopt($ch,CURLOPT_RETURNTRANSFER,1); //获取响应并关闭连接 $data=curl\u exec($ch); 卷曲关闭($ch); //将返回转换为xml对象 $sXML=$data; $oXML=新的SimpleXMLElement($sXML); //在浏览器中显示,这是可选的。 回声'; 变量转储(oXML); 回声;
试试这个。请记住,
$oXML
是一个xml对象,您可以使用->操作符获取对象的子对象