`

java模拟Http请求

阅读更多

   http请求分多种,接下来只考虑post方式-非喜勿喷,求拍砖~

   使用java编程模拟http请求以post方式大致分为以下步骤:

   一、通过抓包工具(或者浏览器自带的调试工具)来获取http请求的具体信息,如Request URL、User-Agent、Accept-Language、Accept-Encoding、cookie等信息,其中较关键的是要先找出Request URL、User-Agent(目前遇到过这两种)、cookie(作为备选有些网站需要这个)、charset(防止乱码时才需要非核心);

   二、利用上一步获取的数据以及成熟的在线http模拟请求工具快速定位关键的头信息是完成代码的关键步骤;

   三、目前通过在线的方式进行http请求的调试工具可以快速分辨出那些请求头信息是不可缺少的,推荐网址:http://www.sojson.com/httpRequest/(该工具多种多样,可自选)

   以上是开发的准备工作,只有获取到关键的请求信息才能减少不必要的浪费

   java实现(非原创)

       

URL realUrl = new URL("");
HttpURLConnection conn = (HttpURLConnection) realUrl.openConnection();
// 连接超时
conn.setConnectTimeout(50000);
// 读取超时 --服务器响应比较慢,增大时间
conn.setReadTimeout(50000);
// 自动重定向
HttpURLConnection.setFollowRedirects(true);
// 请求方式
conn.setRequestMethod("POST");
// url是否可以进行输出
conn.setDoOutput(true);
// url是否可以进行输入
conn.setDoInput(true);
// 添加头信息
conn.setRequestProperty(
		"User-Agent",
		"Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.116 Safari/537.36");
// 发起连接
conn.connect();
// 获取URLConnection对象对应的输出流
OutputStreamWriter out = new OutputStreamWriter(conn.getOutputStream());
// 发送请求参数
out.write("txt=" + URLEncoder.encode(params, "UTF-8"));
out.flush();
out.close();
// 获取返回的信息
InputStream in = conn.getInputStream();
BufferedReader read = new BufferedReader(new InputStreamReader(in,
		"UTF-8"));
String valueString = null;
while ((valueString = read.readLine()) != null) {
	bufferRes.append(valueString);
}
in.close();
if (conn != null) {
	conn.disconnect();
}

 

//解析over

分享到:
评论

相关推荐

    使用Java模拟http请求.rar

    Java作为一种多用途的编程语言,提供了丰富的库来帮助开发者模拟HTTP请求,使得我们可以在程序中实现与服务器的交互,比如发送GET、POST请求,获取网页数据,甚至进行文件上传等操作。本教程将详细讲解如何使用Java...

    java模拟http请求的错误问题整理

    Java 模拟 HTTP 请求的错误问题整理 Java 模拟 HTTP 请求是一种常见的编程技术,然而在实际应用中,我们经常会遇到各种错误问题。下面是对 Java 模拟 HTTP 请求的错误问题的整理和分析。 问题一:Illegal ...

    java模拟http请求登陆抓取海投网信息

    在Java编程中,模拟HTTP请求是一项常见的任务,尤其在网页抓取、自动化测试以及网络数据获取等场景下。本项目涉及的关键技术点是利用HTTP客户端库进行登录操作,并抓取海投网的数据,随后将这些信息存储到MySQL...

    java发送http请求工具类

    在Java编程中,发送HTTP请求是一项常见的任务,无论是获取网页数据、调用API接口还是进行自动化测试,都可能涉及到。本篇文章将详细讲解一个简单的Java工具类,用于发送HTTP请求,该工具类名为HttpURLUtils。 首先...

    java模拟post请求

    java模拟客户端向服务器发送post请求

    JAVA模拟网页发送请求

    这些需求可以通过模拟HTTP请求的方式实现。本篇文章将详细介绍如何使用Java语言来模拟发送网页请求,并特别关注POST请求及Cookie的处理。 #### 二、模拟发送GET请求 首先,我们来看看如何使用Java的`java.net.URL`...

    模拟Http请求

    主要分为以下几个部分:Http请求的基本概念、模拟Http请求的必要性、Apache HttpClient库的介绍及其在Java中的使用方法。 ### Http请求基本概念 Http(Hypertext Transfer Protocol)是用于从WWW服务器传输超文本...

    java模似HTTP请求通过飞信发送免费短信

    Java模拟HTTP请求是一种常见的网络通信技术,用于向服务器发送数据或获取服务器的响应。在这个场景中,我们将讨论如何使用Java来模拟HTTP请求并通过中国移动的飞信服务发送免费短信。飞信是一个允许用户发送免费短信...

    javaHttp异步请求

    在实际开发中,这样的测试文件通常包含各种HTTP请求和响应的模拟数据,用于确保异步请求和流式处理功能的正确性。 总之,Java中的HTTP异步请求通过`HttpAsyncClients`和自定义的回调处理类,如`...

    Java 模拟cookie登陆简单操作示例

    我们可以使用 Java 语言来发送 HTTP 请求,并将 Cookie 信息写入到 HTTP 头部中,以便模拟用户的登陆行为。 Java 模拟 Cookie 登陆的实现 下面是一个简单的 Java 模拟 Cookie 登陆的示例代码: ```java import ...

    java后台调用HttpURLConnection类模拟浏览器请求实例(可用于接口调用)

    在Java编程中,有时我们需要模拟浏览器发送HTTP请求,例如调用外部接口或API。`HttpURLConnection`是Java标准库提供的一种轻量级的HTTP客户端,它允许我们在后台代码中发送GET和POST请求。本篇文章将深入讲解如何...

    java模拟微信浏览器访问.rar

    这个“java模拟微信浏览器访问.rar”压缩包中的主要文件是“MonitorWeixinBrowser.java”,我们可以推测这是一个Java程序,用于模拟微信内置浏览器的行为。下面将详细介绍这个主题的相关知识点。 1. **Java HTTP ...

    java发起http请求提交表单

    ...此方法通常用于向服务器发送数据,例如用户提交的表单信息。 #### 核心知识点 ...从构建HTML表单到使用不同的库来模拟HTTP请求,再到处理表单参数,每一步都需要仔细考虑以确保数据的安全性和准确性。

    java模拟HTTP传送

    java墨迹HTTP请求传送图片。其中服务端部分可以另找我下载

    Java实现的Https请求工具类

    在Java编程中,HTTPS(Hypertext Transfer Protocol Secure)是一种基于HTTP协议的安全通信协议,用于在客户端和服务器之间建立安全的、加密的数据传输通道。它主要用于保护用户数据,防止中间人攻击和数据篡改。本...

    JAVA模拟http上传文件_代码男_新浪博客

    当我们需要实现文件上传功能时,可以通过模拟HTTP请求来完成。这个过程通常涉及到表单提交、Multipart/form-data编码、HttpClient或者HttpURLConnection类的使用。下面将详细探讨这些知识点。 1. **HTTP POST请求**...

    andriod 模拟Http请求

    在Android开发中,模拟HTTP请求是一项基础且重要的任务,它允许应用与远程服务器进行数据交互,获取或发送信息。本文将深入探讨如何在Android平台上实现HTTP请求,主要涉及以下几个方面: 1. **HTTP协议基础**:...

    java 实现http请求的四种方式工具类

    java模拟网络请求,get post put delete四种模式,请求头处理参数处理。此文件仅供大家参考,稍作修改即可。

    java 模拟登录(含验证码)

    Java模拟登录的关键步骤包括: 1. **构建HTTP请求**:使用像`HttpURLConnection`或者第三方库如`Apache HttpClient`或`OkHttp`,创建一个指向登录页面的POST请求。你需要设置请求头,比如`Content-Type`通常设为`...

Global site tag (gtag.js) - Google Analytics