2015-10-06 143 views
0

嗨,我是Java网络包的新手。问题通过HttpURLConnection访问HTTP网站

极品: 我想访问某个特定的网页,并且需要获得页面的HTML内容通过Java code.I使用HttpURLConnection类访问的URL。

该网站的问题: 我得到的403响应代码为该特定的网站,而当我能够访问其他网站具有相同的代码。有关该问题的网站

详情: 有问题的网站是一个HTTP网站,当从Web浏览器访问手动,我能够访问该网页&能够访问该网页的HTML内容。

有问题的URL: http://redbus2us.com/h1b-visa-sponsors/index.php?searchText=a&searchYear=14&action=search&pn=2

正常工作网址: http://www.mkyong.com/all-tutorials-on-mkyong-com/

代码:

String base_url="http://redbus2us.com/h1b-visa-sponsors/index.php?searchText=a&searchYear=14&action=search&pn=",full_url; 
int end_url=1; 
try 
    { 
    for(;end_url<36302;end_url++) 
     { 
     full_url=base_url+end_url; 
     URL url=new URL(full_url); 
    HttpURLConnection url_connect=(HttpURLConnection)url.openConnection(); 
    System.out.println(url+","+url_connect.getResponseCode()); 
     } 
    } 

请建议我是否有我的代码或问题与问题特定的网站。

回答

2

该网站拒绝向默认的Java用户代理提供内容。您希望将用户代理设置为看起来像浏览器的内容,例如:

url_connect.setRequestProperty("User-Agent", "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36");