simplexml_load_file()未能打开流连接拒绝

问题描述:

我想从远程服务器加载xml内容。我正在尝试在Go Daddy托管的网站上执行此操作。我正在使用simplexml_load_file()来这样做。这是错误:simplexml_load_file()未能打开流连接拒绝

Warning: simplexml_load_file(https://remote-server/login_API_SP.php?id=Lake&p=asdfawefasdf12ds&ia=206.19.211.224): failed to open stream: Connection refused in /home/rjnonline/public_html/index.php on line 185

Warning: simplexml_load_file(): I/O warning : failed to load external entity " https://remote-server/login_API_SP.php?id=Lake&p=asdfawefasdf12ds&ia=206.19.211.224 " in /home/rjnonline/public_html/index.php on line 185

我用“远程服务器”替换了我们的实际远程服务器。

那我尝试的事情:

  1. 检查,看看是否allow_url_fopenallow_url_include都在。他们都在。
  2. 我试过使用cURL,遇到了一个异常。
  3. 我在浏览器中输入了URL,我可以得到结果。
  4. 使用file_get_contents,结果相同。
  5. 检查API上的标题信息。那就是:
    header('Access-Control-Allow-Origin: *');

暗战选择这里,所以我想伸手去看看有没有人能帮助我。

+0

它可能是GoDaddy阻止请求。你是在本地还是从另一台服务器发出请求?我可能会尝试联系他们的支持,看看他们是否特别阻止了这个请求。 – cngodles

如果这是真的“我在浏览器中输入了URL,我就可以得到结果了。”

然后应该没有问题。

您需要解决的问题:“我尝试过使用cURL,但遇到了一个异常。”

从来没有一个链接在浏览器中工作,我无法使用curl工作。

因为您没有包含到xml的链接,所以我无能为力。变量太多,你没有提供任何细节。

您可以发布失败的卷曲代码。

这是如何工作的。

$xml = curl_exec($ch); 
$xml = simplexml_load_string($xml); 

GoDaddy的很烂,但他们在这里是不是罪魁祸首。他们的支持人员更可能做的更多,而不是更好。

问题是请求头。 simplexml_load_file()file_get_contents()均发送裸露的请求标头。很容易检测到这些类型的标题并删除连接。