6

I've been using the GetSearchResults web service and it has suddenly stopped working because it's asking me to respond to a Captcha, which doesn't make any sense because it's an API so it shouldn't be asking for human response.

This code is running in Google App Engine. On localhost it works fine, but fails in production.

Below shows what my code is trying to fetch. The is HTML that is coming contains a Captcha. I should be getting XML back instead. What's going on?

zillow: http://www.zillow.com/webservice/GetSearchResults.htm?zws-id=[API KEY REMOVED]&address=10797+Alameda+Ave&citystatezip=92316&rentzestimate=1
zillow results: 

<html><head><title>Zillow: Real Estate, Apartments, Mortgage &amp; Home Values in the US</title><meta http-equiv="X-UA-Compatible" content="IE=8, IE=9"/><meta name="ROBOTS" content="NOINDEX, NOFOLLOW"/><link href="//fonts.googleapis.com/css?family=Open+Sans:400&subset=latin" rel="stylesheet" type="text/css"/><link href="http://www.zillowstatic.com/vstatic/5b67875/static/css/z-pages/captcha.css" type="text/css" rel="stylesheet" media="screen"/><script language="javascript">
            function onReCaptchaLoad() {
                window.reCaptchaLoaded = true;
            }

            window.setTimeout(function () {
                if (!window.reCaptchaLoaded) {
                   document.getElementById('norecaptcha').value = true;
                   document.getElementById('captcha-form').submit();
                }
            }, 5000);
        </script></head><body><main class="zsg-layout-content"><div class="error-content-block"><div class="error-text-content"><!-- <h1>Captcha</h1> --><h5>Please verify you're a human to continue.</h5><div id="content" class="captcha-container"><form method="POST" action="" id="captcha-form"><script type="text/javascript">
var RecaptchaOptions = {"theme":"white","lang":"en-US"};
</script>
<script type="text/javascript" src="http://www.google.com/recaptcha/api.js" async defer onload="onReCaptchaLoad()"></script>
<div class="g-recaptcha" data-sitekey="6Lf2nvMSAAAAAMQ5p6WlAfDEixMdOQgJsij-3_ud"></div><br/><input id="dest" name="dest" type="hidden" value="ognl:originalDestination"/><input id="norecaptcha" name="norecaptcha" type="hidden" value="false"/><button type="submit" class="zsg-button zsg-button_primary">Submit</button></form><img src="http://www.zillowstatic.com/static/logos/logo-65x14.png" width="65" alt="Zillow" height="14"></img></div></div></div></main></body></html><!-- H:017  T:0ms  S:1554  R:Tue Dec 27 12:25:35 PST 2016  B:5.0.37586-master.3e1733a~hotfix_pre.27ccd5e -->
Ryan Skalla
  • 164
  • 1
  • 6
  • 1
    Ryan, rep not high enough to comment, but checking if you found answer and if you could post it. – Marc Jun 13 '17 at 16:18
  • 2
    Our guess: Zillow flagged GAE range of IP's as over limit because, I believe, they're shared. We weren't the cause of the traffic but were getting blocked by association. We ended up moving zillow processing to an outside host where we have a static IP and using GAE to call that page. It's hokey but it works. Hope that helps. – Ryan Skalla Jun 13 '17 at 21:08

0 Answers0