2017-05-28 16 views
0

我寫了一個小應用程序,它使用laravel 5.4中的Guzzle連接到Zillow api。Laravel Guzzle Zillow API調用返回「您沒有權限訪問此服務器」活動服務器,但本地正常工作

,直到我把它部署到一個活的服務器在這一點,我得到

您沒有權限訪問此服務器上/webservice/GetDeepSearchResults.htm這一切的偉大工程。

從gizzle catch返回。

如果我將zillow的網址更改爲www.google.com,它會返回響應。

如果我將zillow url複製粘貼到瀏覽器中,它會給我正確的xml響應。

這是一個新的現場部署,在網站的虛擬主機目錄指向「公共/ index.php文件/」

什麼能possibily becausing這一點。我在這一點上有點難住。此錯誤的所有其他實例似乎是由指向錯誤目錄的虛擬主機或apache配置文件引起的。

所以我的問題是,如果我在

變種託管在Ubuntu域/ WWW/domain.com /的public_html/laravel/

,並指向「無功/網絡/domain.com/public_html/laravel/public/index.php「在這個域的virtualhost.conf文件中,還有哪些地方必須指向這個位置才能使其工作?這是此服務器上唯一的域。

任何線索指向我在正確的方向將非常感激。

編輯 下面是用於撥打電話的地址。

$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

你能展示你的代碼嗎?你可以轉儲出你試圖訪問的網址嗎? – patricus

+0

完成,希望有幫助 –

+1

zillow可能已經阻止了您的服務器的IP地址。你可以嘗試ssh'ing到你的服務器,並使用'wget'來訪問網址? – patricus

回答

1

您得到的響應將來自Zillow,因此與您的服務器設置無關。

我的猜測是Zillow阻塞了你的服務器,所以你得到了直接的403響應,甚至沒有錯誤代碼的API響應。

如果您使用的是共享主機,則可能會遇到未取消阻止IP地址的問題,因爲很可能會阻止您的某個鄰居進行不適當的訪問。如果它是一個專門的主持人,你可能會有更好的運氣,但是需要確保你在他們的使用條件下運行,所以你不會再被阻塞。無論哪種方式,您都需要與Zillow聯繫解決此問題。

相關問題