【发布时间】:2017-10-28 14:24:07
【问题描述】:
我在 laravel 5.4 中使用 Guzzle 编写了一个连接到 Zillow api 的小应用程序。
这一切都很好,直到我将它部署到实时服务器,此时我得到了
您无权访问此服务器上的 /webservice/GetDeepSearchResults.htm。
从gizzle catch返回。
如果我将 url 从 zillow 更改为 www.google.com,它 gizzle 会返回响应。
如果我将 zillow url 复制粘贴到浏览器中,它会给我正确的 xml 响应。
这是一个新的实时部署,虚拟主机目录指向站点“public/index.php/”
这可能是什么原因。在这一点上我有点难过。此错误的所有其他实例似乎是由指向错误目录的虚拟主机或 apache 配置文件引起的。
所以我的问题是,如果我在 ubuntu 上托管一个域
var/www/domain.com/public_html/laravel/
并指向该域的 virtualhost.conf 文件中的“var/www/domain.com/public_html/laravel/public/index.php”,我还必须在哪里指向该位置才能使其工作?这是此服务器上唯一的域。
任何指向我正确方向的线索将不胜感激。
编辑 这是用于拨打电话的地址。
$addressf = "http://www.zillow.com/webservice/GetDeepSearchResults.htm?zws-id=X1-APIKEY&address=".$addressf;
$addressf 包含用于测试的有效 http 解析地址。此地址在浏览器中可以正常工作,但在本地机器上除外。
这是返回错误的实际捕获
try {
$response = $client->get($addressf);
//$response = $client->post($this->url, $params);
} catch (\GuzzleHttp\Exception\ClientException $e) {
var_dump($e->getResponse()->getBody()->getContents());
}
希望对您有所帮助。
【问题讨论】:
-
您能展示发出请求的代码吗?您可以转储您尝试访问的网址吗?
-
完成,希望对您有所帮助
-
zillow 可能已经阻止了您服务器的 IP 地址。您可以尝试 ssh'ing 到您的服务器并使用
wget访问网址吗? -
你是对的。当我从服务器上的 ssh 终端获取 wget 时,我得到了相同的禁止响应!我已经把这种可能性写下来了。我想现在我只需要找出为什么/如何解锁它。谢谢帕特里克斯!
-
当然可以。我为您发布了一个快速答案。