i'm running simple java program httpresponse codes, reason not codes happen 200. find odd because when checking network tab urls www.reddit.com, response 200, program returning different value.
the code below...
try{ string urlname = "http://www.reddit.com"; url url = new url(urlname); httpurlconnection connection = (httpurlconnection) url.openconnection(); connection.setrequestmethod("get"); connection.connect(); string message = connection.getresponsemessage(); system.out.println("message: " + message); int code = connection.getresponsecode(); system.out.println(integer.tostring(code)); } catch(exception e){ e.printstacktrace(); }
lastly, there reason set requestmethod , connection again? response code whether or not have code because connection executes openconnection();
goal - make valid connections return 200
you said you're seeing 301 reddit , 302 facebook. those status codes mean you're getting redirected. browser's following them; code isn't.
java's built-in http support not great end-users. recommend using better http client library, such apache's httpclient, or horizon, built on top of apache (for synchronous requests) , ning (for async).
full disclosure: work hubspot; horizon 1 of our open-source libraries.
Comments
Post a Comment