您好我是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());
}
}
请告诉我我的代码是否存在问题或该网站是否存在问题。
答案 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>