java - HttpResponse code not 200 -


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