因为刚开始开博客并没有什么浏览量,所以心中一时想着怎么变成增加自己的浏览量,于是参考了网上的例子写了个程序,主要是用java访问指定的网页,当然只是一时兴起,没有恶意。
我开始只是采用简单的URL访问页面,但是一般网站会对这种纯爬虫或者类爬虫程序拒绝,我就是一开始被拒绝了,并被网站警告 ,因此,需要模拟浏览器访问才行,浏览器访问使用的HTTP协议,可以在程序中加入这个请求报头,至于报头内容,谷歌浏览器按F12后有个network选项,里面可以看到
说多了无用,直接上程序
import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.io.PrintWriter; import java.net.URL; import java.net.URLConnection; import java.util.List; import java.util.Map; public class visitWebsite { /** * 向指定URL发送GET方法的请求 * * @param url * 发送请求的URL * @param param * 请求参数,请求参数应该是 name1=value1&name2=value2 的形式。 * @return URL 所代表远程资源的响应结果 */ public static String sendGet(String url, String param) { String result = ""; BufferedReader in = null; String urlNameString; try { if(!param.equals("")){ urlNameString = url + "?" + param; }else{ urlNameString=url; } URL realUrl = new URL(urlNameString); // 打开和URL之间的连接 URLConnection connection = realUrl.openConnection(); // 设置通用的请求属性,浏览器请求报头,不然会被有的网站检测到恶性爬网页而被禁止访问 connection.setRequestProperty("accept", "*/*"); connection.setRequestProperty("connection", "Keep-Alive"); connection.setRequestProperty("user-agent", "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.81 Safari/537.36"); // 建立实际的连接 connection.connect(); // 获取所有响应头字段 Map<String, List<String>> map = connection.getHeaderFields(); // 遍历所有的响应头字段 for (String key : map.keySet()) { System.out.println(key + "--->" + map.get(key)); } // 定义 BufferedReader输入流来读取URL的响应 in = new BufferedReader(new InputStreamReader( connection.getInputStream())); String line; while ((line = in.readLine()) != null) { result += line; } } catch (Exception e) { System.out.println("发送GET请求出现异常!" + e); e.printStackTrace(); } // 使用finally块来关闭输入流 finally { try { if (in != null) { in.close(); } } catch (Exception e2) { e2.printStackTrace(); } } return result; } /** * 向指定 URL 发送POST方法的请求 * * @param url * 发送请求的 URL * @param param * 请求参数,请求参数应该是 name1=value1&name2=value2 的形式。 * @return 所代表远程资源的响应结果 */ public static String sendPost(String url, String param) { PrintWriter out = null; BufferedReader in = null; String result = ""; try { URL realUrl = new URL(url); // 打开和URL之间的连接 URLConnection conn = realUrl.openConnection(); // 设置通用的请求属性 conn.setRequestProperty("accept", "*/*"); conn.setRequestProperty("connection", "Keep-Alive"); conn.setRequestProperty("user-agent", "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.81 Safari/537.36"); // 发送POST请求必须设置如下两行 conn.setDoOutput(true); conn.setDoInput(true); // 获取URLConnection对象对应的输出流 out = new PrintWriter(conn.getOutputStream()); // 发送请求参数 out.print(param); // flush输出流的缓冲 out.flush(); // 定义BufferedReader输入流来读取URL的响应 in = new BufferedReader( new InputStreamReader(conn.getInputStream())); String line; while ((line = in.readLine()) != null) { result += line; } } catch (Exception e) { System.out.println("发送 POST 请求出现异常!"+e); e.printStackTrace(); } //使用finally块来关闭输出流、输入流 finally{ try{ if(out!=null){ out.close(); } if(in!=null){ in.close(); } } catch(IOException ex){ ex.printStackTrace(); } } return result; } public static void main(String[]args) throws InterruptedException{ int i=0; while(i<1000){ visitWebsite.sendGet("http://the page you are going to visit", ""); /* * 一般网站如果检测到某个iP短时间内过频繁访问也会拒绝,因此这里设置每30秒请求一次 * * */ Thread.sleep(30*1000); i++; } } }
值得说明的是,即使这样,可以在一段时间内增加网站的访问量,但是我测试的网站还是会因为同一个IP在一段时间内过于频繁访问而被要求输入验证码,不然IP会被禁止访问,在输入验证码后会解禁IP,听说可以使用动态路由访问,这方面我不太熟,所以不做解释。
相关推荐
总之,"多页面IE浏览用户控件VB源码"是一个用于VB应用程序的自定义组件,通过集成WebBrowser控件实现了多页面浏览功能,便于开发者在他们的项目中实现类似浏览器的多标签页功能。通过深入理解WebBrowser控件的工作...
1. **访问统计**:ASP可以记录用户的浏览行为,如访问页面、停留时间等,这些数据可用于分析用户喜好和优化网站布局。 2. **浏览历史**:通过跟踪用户浏览过的商品,ASP可以帮助实现“最近浏览”功能,推荐用户可能...
例如,商品信息的展示可能需要用到AJAX异步加载,浏览记录则需要在服务器端存储用户的浏览行为,购物车功能则涉及到商品ID和数量的增删改查,最后提交订单时需要验证用户信息、计算总价并生成订单。 卖家端的管理...
- **PV (Page View)**:页面浏览量,表示用户每次刷新或访问一个网页都被记录为一次PV。PV反映了用户对网站内容的关注程度。 - **IP**:独立IP数,指在一定时间范围内(通常为一天),访问网站的不同IP地址的数量。...
9. **安全性**:在安全敏感的环境中,虚拟键盘可以帮助防止键盘记录器和屏幕抓取攻击,因为它不依赖于物理键盘事件,而是直接在页面上模拟输入。 10. **可访问性**:虚拟键盘应遵循Web无障碍(WCAG)指南,确保残障...
1. `window.history.length`属性:这个属性返回浏览器历史记录中的条目数量,包括当前页面。当你点击链接或者进行页面跳转时,这个数字会增加。如果你回退到前一个页面,这个数字不会减少,除非你关闭了浏览器或者...
这时,我们可能需要借助如`Selenium`这样的工具,它可以模拟真实浏览器行为,执行JavaScript代码并获取最终渲染后的页面内容。 除了Python,其他编程语言也有相应的网页访问模块。例如,在Java中,`...
3. **浏览器兼容性处理**:为了确保在不同的浏览器中都能正确显示,我们需要考虑对老版本IE浏览器的支持,可能需要引入jQuery库或者使用polyfill来实现某些不被所有浏览器支持的方法,如`classList`或CSS3动画。...
1. 记录浏览器活动:WAS可以记录用户在浏览器中的操作,如页面浏览、点击等,然后将这些活动转化为测试脚本。 2. 导入IIS日志:可以从Web服务器的日志文件中导入用户行为数据,生成更接近实际用户行为的脚本。 3. ...
启动与访问:在虚拟环境中启动项目后,通过浏览器访问http://127.0.0.1:5000即可进入网站前台首页。 用户注册与登录:首次访问首页时,用户可以从左上角点击“注册”按钮进入注册页面完成注册。注册完成后返回首页,...
7. **可访问性和兼容性**:在开发过程中,应考虑不同浏览器和设备的兼容性,确保模拟下拉列表在各种环境下都能正常工作。同时,遵循WCAG(Web Content Accessibility Guidelines)标准,保证残障人士也能无障碍地...
部署完成后,启动服务器,用户可以通过浏览器访问指定的项目URL,例如`http://localhost:8080/BookShopping`,即可看到购物车界面并进行操作。 7. **学习价值**: 对于初学者,这个项目可以帮助理解JSP和session在...
软件在多个平台和浏览器环境下进行了测试,包括谷歌浏览器、IE浏览器、360浏览器、搜狗浏览器和火狐浏览器,确保了跨平台兼容性。每个功能点如登录验证、申请开课、查看课程、选课、查看个人课表、讨论区交互等都...
2. **用户访问量**:包括PV(页面浏览量)、IP(独立访客数)等指标,用于评估网站流量。 3. **用户黏度**:通过导出率、跳出率、PV/IP比率等指标来衡量用户的活跃度和参与度。 #### 四、优化案例分析 - **频道...
脚本的制作应该尽可能地模拟真实用户的行为,包括不同的页面访问模式和流量分布。 WAS允许创建页面组来表示不同的用户行为模式,比如浏览和购买。在脚本中,你可以设定各页面组的流量比例,如30比1的浏览与购买比例...
7. **控制流程**:如使用条件判断、循环结构来控制脚本的行为,比如遍历店铺列表、浏览一定数量的商品等。 8. **异常处理**:为确保脚本的稳定运行,可能包含了异常处理代码,以应对网络延迟、页面加载失败等情况。...
例如,在一个模拟书店场景的测试中,可以创建名为`grp_browse`(浏览组)和`grp_buy`(购买组)的页面组,然后设置30:1的流量比例,意味着大部分用户在浏览书籍,少量用户进行购买操作。在主脚本视图中,每个请求会...
3. Java Applet:Java Applet是一种可以在网页中运行的小程序,能够增加动态效果,但不是所有浏览器都支持,且其兼容性和扩展性可能有限,需要特定插件才能运行,因此C选项的描述是错误的。 4. 模板文件扩展名:...
例如,在一个假设的书店网站中,可以创建两个页面组,一个用于浏览(grp_browse),另一个用于购买(grp_buy),并设定相应的流量比例。然后,在主脚本视图中,将各个请求分配到相应的页面组,以控制流量的流向。...