通过HttpURLConnection访问HTTP网站时出现问题

时间:2015-10-06 01:20:42

标签: java url

您好我是Java网络套件的新手。

需要: 我想访问一个特定的网页,需要通过java代码获取该页面的html内容。我使用httpURLConnection访问该URL。

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

有关该问题网站的详细信息: 有问题的网站是一个http网站,当从网络浏览器手动访问时,我可以访问网页&能够访问该网页的Html内容。

有问题的网址 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());
       }
  }

请告诉我我的代码是否存在问题或该网站是否存在问题。

1 个答案:

答案 0 :(得分:2)

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

<script> 
 $(function () { 
     var error = $('#errDiv'); 
     $('#btnFindLoc').click(function () { 
         if (Modernizr.geolocation) { 
             navigator.geolocation.getCurrentPosition(currentPosition, positionError); 
         } 
         else { 
             error.html("GeoLocation API of HTML 5 is not supported"); 
         } 
     }); 

     function currentPosition(currentPos) { 
         var coordinates = currentPos.coords; 
         $('#lati').text(coordinates.latitude); 
         $('#longi').text(coordinates.longitude);
        var googleMap = $('#gMap'); 
         googleMap.attr("href", "http://maps.google.com/maps?q=" + coordinates.latitude + "," + coordinates.longitude); 
     } 

     function positionError(errCode) { 
         if (errCode.code==0) { 
             error.html("Unknown Error - has occured"); 
         } 
         else if (errCode.code==1) { 
             error.html("Permission Denied - By the user"); 
         } 
         else if (errCode.code==2) { 
             error.html("Position/Location Unavailable"); 
         } 
         else if (errCode.code == 3) { 
             error.html("Timeout"); 
         } 
     } 
 }); 
 </script>