java 伪装成浏览器向 网站发起请求

java自定义浏览器(用于web程序访问安全) 采用djnativeswing开发的自定义浏览器,实现web程序固定ip/mac访问客户端技术,其中包含了获取客户物理地址等功能。试用场景为对软件安全性要求比较高的web程序。如只有某些物理地址才能访问的 web程序。 配置文件 /conf/server.properties,可配置连接地址以及内核(IE/WEBKIT)。 立即下载
package MgUtil.Util;


import java.io.IOException;  


import org.apache.commons.httpclient.HttpClient;
import org.apache.commons.httpclient.HttpException;
import org.apache.commons.httpclient.HttpMethod;
import org.apache.commons.httpclient.methods.GetMethod;
import org.apache.commons.lang.xwork.StringUtils;
  
/**

 * java 伪装成浏览器向网站发起请求

*需要 commons.httpclient.jar和 commons-logging.jar

 */
  
/** 
 * @author 鲁炬 
 * 
 */  
public class HttpClientUtil {  
  
  public static HttpClient getClient() {  
    HttpClient client = new HttpClient();  
    return client;  
  }  
  
  public static String getHtml(String url) throws HttpException, IOException {  
    return getHtml(url, 80, null, null, 0, null);  
  }  
  
  public static String getHtml(String url, String cookie) throws HttpException, IOException {  
    return getHtml(url, 80, null, null, 0, cookie);  
  }  
  
  public static String getHtml(String url, int port, String cookie) throws HttpException, IOException {  
    return getHtml(url, port, null, null, 0, cookie);  
  }  
  
  public static String getHtml(String url, int port, String encoding, String proxyHost, int proxyPort, String cookie)  
      throws HttpException, IOException {  
    HttpClient httpClient = getClient();  
    String rest = null;  
    if(proxyHost != null && proxyPort != 0) httpClient.getHostConfiguration().setProxy(proxyHost, proxyPort);  
    HttpMethod method = new GetMethod(url);  
    if(!StringUtils.isBlank(cookie)) {  
      method.addRequestHeader("Cookie", cookie);  
    }  
    method.addRequestHeader("User-Agent", "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 2.0.50727");  
    //Mozilla/5.0 (Windows NT 6.1; rv:7.0.1) Gecko/20100101 Firefox/7.0.1  
    httpClient.executeMethod(method);  
  
    //根据http头解析正确的字符集  
    String header = method.getResponseHeader("Content-Type").getValue();  
    if(header.contains("charset=")) {  
      encoding = header.substring(header.indexOf("charset=") + "charset=".length(), header.length());  
    }  
    if(encoding == null) encoding = "GBK";  
  
    rest = new String(method.getResponseBody(), encoding);  
    method.releaseConnection();  
    return rest;  
  }  
  
  public static void main(String[] args) throws HttpException, IOException {  
    String url = "http://blog.youkuaiyun.com/xmlrequest/article/details/11519503";  
    System.out.println(getHtml(url));  
  }  
}  
selenium需要的包 模拟真实浏览器。 selenium 用于在代码中模拟真实浏览器打开网页,和操作,一般自动化测试用的比较多 立即下载

相关推荐

java模拟浏览器

java模拟浏览器发出请求并接收响应,可以传入请求方式、传入参数,并指定编码,注意引入apache-commons的jar包,

java模拟浏览器请求

java模拟浏览器请求

xujunwei2010的专栏 1345

Jsoup解析网址与浏览器查看内容不一致

开发过程中,用Jsoup解析糯米团购网站页面的时候,发现取得的页面和浏览器查看到的页面不一样,而是手机页面。 经过跟踪代码执行,发现content取得的内容和用浏览器直接访问的内容不一样。 经过查询资料,发现是User-Agent 的问题,在Jsoup中默认没有指定User-Agent,网站的服务器则认为这个访问来自手机,返回的是手机的页面。

java 伪装浏览器_java 伪装成浏览器向 网站发起请求

package MgUtil.Util;import java.io.IOException;import org.apache.commons.httpclient.HttpClient;import org.apache.commons.httpclient.HttpException;import org.apache.commons.httpclient.HttpMethod;import...

weixin_30270475的博客 681

java 伪造http请求ip地址的方法

主要介绍了java 伪造http请求ip地址的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

Matlab R2024a硬件支持包安装避坑指南:以Arduino为例(附离线包下载)

本文详细介绍了Matlab R2024a硬件支持包(Support Package)的安装流程,特别是针对Arduino平台的避坑指南和高效部署方法。从环境准备、离线安装方案到Arduino支持包的专项优化,提供了全面的技术细节和解决方案,帮助开发者避免常见错误,实现快速部署。

weixin_33737134的博客 447

java 伪装浏览器,java 模拟浏览器

java 模拟浏览器public static void DownLoadPages(String urlStr, String outPath){int chByte = 0;URL url = null;HttpURLConnection httpConn = null;InputStream in = null;FileOutputStream out = null;try{url = ne...

weixin_34036423的博客 637

软件测试工程师最常用的Linux系统命令大全(汇总)

cd命令这是一个非常基本,也是大家经常需要使用的命令,它用于切换当前目录,它的参数是要切换到的目录的路径,可以是绝对路径,也可以是相对路径。

1330

Java HttpClient 如何伪装微信浏览器进行POST请求

Java HttpClient 如何伪装微信浏览器进行POST请求当我用HttpClient的post去请求外部微信支付跳转时得到一个返回值:{"code":"XXXXXXXXX,"message":"请使用微信打开页面"}当时通过思考我想到了两个办法: 把这个POST请求放在页面上,通过Ajax去POST请求,由于是微信公众号跳转,所以跳转肯定是用微信跳转的 还是通过后台跳转,想办法发送请求的时

攻城狮子的博客 1万+

华硕电脑Win10改Win7系统:BIOS设置详解

通过上述步骤,华硕电脑用户可以将系统从Windows 10更改为Windows 7。虽然这个过程可能涉及一些技术细节和潜在的风险(如数据丢失和驱动不兼容),但只要按照指南仔细操作并做好准备工作,大多数用户应该能够成功完成系统回滚。请记住,在进行任何系统更改之前都要备份重要数据,并确保已了解所有潜在的风险和限制。希望本文能够帮助到需要回滚到Windows 7的华硕电脑用户!

nntxthml的博客 2262

ABAQUS单元刚度矩阵输出全攻略:从理论到实践(含MTX/DAT文件对比)

本文详细解析了ABAQUS中单元刚度矩阵的输出方法,涵盖理论原理、MTX与DAT文件格式对比及二次开发应用。通过具体操作步骤和性能优化建议,帮助用户高效获取并利用刚度矩阵数据,特别适合需要进行有限元分析验证和二次开发的工程师。

lg888的博客 1006

Java Web基础入门第四十讲 使用HttpUrlConnection模拟浏览器

在手机开发中,要想向服务器发送请求和读取服务器回送回来的响应,我们就需要使用到HttpUrlConnection这个类。关于这个类的详解,可以查看Java API帮助文档。 现在我们使用HttpUrlConnection这个类来模似IE,向服务器发送请求和读取服务器回送回来的响应。 处理服务器回送的http响应 在服务器端新建一个servlet——ServletDemo1.java,代码如下所示

李阿昀的博客 4889

Dobot Magician机械臂二次开发指南:如何利用Python脚本和I/O接口实现自动化任务

本文详细介绍了Dobot Magician机械臂的二次开发方法,重点讲解如何通过Python脚本和I/O接口实现高级自动化任务。内容包括开发环境搭建、运动控制API解析、I/O接口应用以及典型场景实现,帮助开发者充分发挥Dobot Magician的潜力,适用于工业自动化、教育科研等领域。

weixin_26968079的博客 267

java 伪装浏览器_java 伪装成浏览器向 网站发起请求 | 学步园

package MgUtil.Util;import java.io.IOException;import org.apache.commons.httpclient.HttpClient;import org.apache.commons.httpclient.HttpException;import org.apache.commons.httpclient.HttpMethod;import...

weixin_39792686的博客 181

SAP PS项目结算实操:从CJ20N到CJ88,手把手搞定项目成本结转与凭证生成

本文详细解析SAP PS项目结算全流程,从CJ20N到CJ88的操作要点,涵盖成本归集、结算规则配置、结果分析及凭证生成等关键环节。特别针对FICO模块中的项目凭证流转问题提供实战解决方案,帮助财务人员规避常见配置错误,提升项目结算效率与准确性。

weixin_26833503的博客 813

FanucROBOGUIDE软件二次开发:使用ROBOGUIDEAPI进行编程

菜单栏:位于界面顶部,提供文件、编辑、视图、插入、格式、工具、窗口和帮助等选项。工具栏:包含常用的工具按钮,如新建、打开、保存、运行、停止、机器人控制等。工作站视图:显示工作站的3D模型,用户可以在这里放置机器人、工件、工具和其他设备。机器人控制面板:用于控制机器人运动,包括手动移动、程序编辑和运行。程序编辑器:在这里可以编写和编辑机器人程序,支持Fanuc的R-30iB Plus和R-30iB控制柜的程序格式。状态栏:显示当前工作站的状态信息,如机器人位置、程序状态等。

kkchenjj的博客 1408

网站使用https不安全证书,Safari浏览器第一次发起请求异常,需要刷新才可以正常发送

背景 https传输协议,服务器证书为私有证书(非商用),使用Safari浏览器访问网站,第一次访问正常。关闭网页后,每次访问页面都一直显示加载中,需要手动点击浏览器的刷新按钮才会正常展示网站;手动通过清除safari浏览器缓存后,可以正常进行一次访问,第二次开始接下来又会重复以上过程; 解决 通过Mac电脑连接Iphone调试,找到了原因,原来是网站第一个get请求被浏览器做了屏蔽; ......

追逐丶的博客 5011

一种抑制undershoot/overshoot锐化算法介绍

一、USM 当增强图像的边缘、细节信息等高频信息时,图像的锐化视觉效果会得到较大提升。提高图像锐化的一种经典算法为非锐化掩码(UNsharp Masking)技术。该技术首先通过高通滤波并与缩放系数相乘,其结果再与原始图像相加,即可对高频信息进行增强。其主要的原理如下图所示: 其中,对图像进行高通滤波的另一种等效方法为:原始图像减去原始图像的低通滤波图像,其结果被称之为“掩码”。因此,上述的USM方法可以表示为: 原始图像减去原始图像低通滤波之后的图像得到掩码M。 2.掩...

大熊 4242

Java爬虫系列之三模拟浏览器【模块浏览OSChina网站】

第一节的学习使得我们学会使用HttpClient请求网页的基本方法;第二节进一步学习了Jsoup从网页中解析出所需要的内容。但在请求时,我们仍可能遇到目标网址没有错,但就是请求得不到响应的情况,比如OSChina、优快云等网址,因此这里必须伪装成浏览器才可以进行正常的访问。         模拟浏览器在代码的实现层,就是给请求加上Header,那么如何看应该封装的Header内容呢?运用浏览器

行者小朱的博客 5089

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

教你轻松解决CSRF跨站请求伪造攻击

CSRF(Cross-site request forgery)跨站请求伪造,通过伪装来自受信任用户的请求来利用受信任的网站。与XSS攻击相比,CSRF攻击往往不大流行(因此对其进行防范的资源也相当稀少)和难以防范,所以被认为比XSS更具危险性。

华为云官方博客 5207

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

请求头中的用户代理 User-Agent

一、用户代理 User-Agent 可以简称为 UA 在使用代码模拟网络请求时,很多网站会拒绝访问,如 https://blog.youkuaiyun.com/weixin_39720495/article/details/102698643 遇到的问题 添加user-agent字段,网站就会知道该请求时来自于一个 mac 的桌面浏览器,会返回一个桌面版的界面。 二、UA 的基本概念: 一、概念 user agent 用户代理,代表用户行为的软件代理程序提供的一个标识符 二、结构 USER_AGENT = Mozill

我心坚持 8672

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

heritrix3 伪装成GOOGLE进行爬取

伪装成搜索引擎蜘蛛google bot访问需网站, 这样能防止爬虫被封 在crawler-beans.cxml 中修改metadata成下面 Java代码      "metadata" class="org.archive.modules.CrawlMetadata" autowire="byName">         "operatorContactUrl" value

neo_liukun的专栏 1823

java实现网站统计功能_网站统计功能的设计与实现

本文分为以下五个部分:埋点设计与实现页面引入数据接收数据入库统计分析一、埋点设计与实现在JavaScript中,包含了很多对象,可以用于获取用户的数据。比如Document对象用于分析每个载入浏览器的 HTML 文档,可以获得当前文档的域名、URL、及当前文档的标题;Navigator对象包含有关浏览器的信息,可以得到运行浏览器的userAgent的值,当前系统的语言;而Screen对象则可以获得...

weixin_28704565的博客 1966

java伪静态_java中如何用urlrewritefilter实现网站伪静态?

大部分搜索引擎都会优先考虑收录静态的HTML页面,而不是动态的*.jsp、*.php页面。但实际上绝大部分网站都是动态的,不可能全部是静态的HTML页面,因此互联网上大部分网站都会考虑伪静态——就是将*.jsp、*.php这种动态URL伪装成静态的HTML页面。请问java中如何实现伪静态呢?通过Filter拦截所有发向*.html请求,然后按某种规则将请求forward到实际的*.jsp页面即可...

weixin_35678674的博客 185

如何将爬虫完全伪装成为用户在浏览器的点击行为

另外解密恶意广告主识别的文章,据说涉密了,因为担心公司的保密协议,先删除了安全第一。     本文讲述了一种使用浏览器内核进行伪装的新爬虫,它可以轻易的欺骗CNZZ的数据统计,抓取动态内容。我首先介绍了常见的浏览器内核、浏览器内核的UserAgent,网站代码加载执行过程,随后又具体介绍了该动态爬虫的实现方法。     其实讲到爬虫的伪装,我们就要首先讲一下网站站长和爬虫的对抗之路。具体的

wang1144的专栏 2万+
上一篇: pl/sql 定义函数例子
下一篇: oralce 分页
职业驱魔师
博客等级 码龄16年 16粉丝 71原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值