Laravel Guzzle Zillow API调用返回“您无权访问此服务器”的实时服务器,但在本地工作正常

时间:2017-05-28 00:40:33

标签: laravel api guzzle

我写了一个小应用程序,使用Guzzle in laravel 5.4连接到Zillow api。

这一切都很有效,直到我将它部署到实时服务器上,此时我得到了

  

您无权访问此服务器上的/webservice/GetDeepSearchResults.htm。

从gizzle catch返回。

如果我将网址从zillow更改为www.google.com,则gizzle会返回响应。

如果我将zillow url粘贴到浏览器中,它会给我正确的xml响应。

这是一个新的实时部署,虚拟主机目录指向站点“public / index.php /”

可能有什么可能因为这个。我在这一点上有点难过。此错误的所有其他实例似乎都是由指向错误目录的virtualhost或apache配置文件引起的。

所以我的问题是,如果我在ubuntu上托管域名

  

无功/网络/ 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());

  }

希望有所帮助。

1 个答案:

答案 0 :(得分:1)

您获得的回复来自Zillow,因此与您的服务器安装方式无关。

我的猜测是,Zillow已经阻止了您的实时服务器,因此您可以获得直接的403响应,甚至没有带有错误代码的API响应。

如果您正在使用共享主机,则可能在解除阻止IP地址时遇到问题,因为它很可能阻止您的某个邻居进行不当访问。如果它是一个专用主​​机,您可能会有更好的运气,但需要确保您在其使用条款下运行,这样您才不会再次被阻止。无论哪种方式,您都需要与Zillow联系以解决此问题。