我写了一个小应用程序,使用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());
}
希望有所帮助。
答案 0 :(得分:1)
您获得的回复来自Zillow,因此与您的服务器安装方式无关。
我的猜测是,Zillow已经阻止了您的实时服务器,因此您可以获得直接的403响应,甚至没有带有错误代码的API响应。
如果您正在使用共享主机,则可能在解除阻止IP地址时遇到问题,因为它很可能阻止您的某个邻居进行不当访问。如果它是一个专用主机,您可能会有更好的运气,但需要确保您在其使用条款下运行,这样您才不会再次被阻止。无论哪种方式,您都需要与Zillow联系以解决此问题。