我一直在尝试从我在服务器上创建的PHP页面访问这个特定的REST服务.我将问题缩小到这两行.所以我的PHP页面如下所示:
<?php
$response = file_get_contents("https://maps.co.weber.ut.us/arcgis/rest/services/SDE_composite_locator/GeocodeServer/findAddressCandidates?Street=&SingleLine=3042+N+1050+W&outFields=*&outSR=102100&searchExtent=&f=json");
echo $response; ?>
Run Code Online (Sandbox Code Playgroud)
该页面在第2行死亡,并出现以下错误:
- 警告:file_get_contents():SSL操作失败,代码为1. OpenSSL错误消息:错误:14090086:SSL例程:SSL3_GET_SERVER_CERTIFICATE:证书验证失败...第2行的php
- 警告:file_get_contents():无法在第2行的... php中启用加密
- 警告:file_get_contents(
https://maps.co.weber.ut.us/arcgis/rest/services/SDE_composite_locator/GeocodeServer/findAddressCandidates?Street=&SingleLine=3042+N+1050+W&outFields=*&outSR=102100&searchExtent=&f=json):无法打开流:第2行的... php操作失败
我们正在使用Gentoo服务器.我们最近升级到PHP 5.6版.升级后出现此问题.
我发现,当我一个地址替换REST服务一样https://www.google.com; 我的页面工作正常.
在我之前的一次尝试中,我将“verify_peer”=>false其作为参数传递给file_get_contents,如下所述: file_get_contents忽略verify_peer => false? 但就像作者所指出的那样; 它没有任何区别.
我问过我们的服务器管理员是否存在php.ini文件中的这些行:
他告诉我,因为我们在Gentoo上,openssl是在我们构建时编译的; 并且它没有在php.ini文件中设置.
我也证实这allow_url_fopen是有效的.由于这个问题的专业性; 我没有找到很多帮助信息.有没有人遇到过这样的事情?谢谢.
我正在为AppleTV开发一个应用程序。该应用程序将从尚未开发此类API的在线网站上读取电影。
我使用XMLHTTPRequest来获取不同的URL,并让用户搜索他的电影,等等。。。一切正常,除了单个请求。要获取电影URL,我必须使用恒定的cookie(例如mycookie = cookie)向特定地址(例如http://example.com/getmovie.html)发送get请求。
我试过使用setRequestHeader:
var xhr = new XMLHttpRequest();
xhr.open("GET", url, false);
xhr.withCredentials = true;
xhr.setRequestHeader('Cookie', 'mycookie=cookie');
xhr.send();
Run Code Online (Sandbox Code Playgroud)
但是似乎没有发送任何cookie。我还尝试用Document.cookie设置cookie,就像我可能会在“正常” js脚本中运行(在浏览器中运行)一样,但是也没有运气。
这非常令人沮丧,尤其是因为我紧紧靠近应用程序的末尾。
我猜可能是跨域的问题,但是如果我不必设置cookie,我就能获得没有问题的URL,所以我在这里有点迷路了。
请让我知道如何获取带有特定Cookie标头的http://example.com/getmovie.html。
谢谢你的帮助