请求的各种参数可以通过浏览器插件取得,firefox的firebug和Chrome自带开发者工具都可以做到,但是最后秒杀还是失败了,应该是网速问题吧,一到点返回的结果太差了
package com.num;
import java.io.IOException;
import java.io.InputStream;
import java.io.PrintWriter;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.ProtocolException;
import java.net.URL;
import java.util.Date;
public class MyWorrier extends Thread{
private String urlStr;
public MyWorrier(String urlStr) {
super();
this.urlStr = urlStr;
}
@Override
public void run() {
try {
while (true) {
HttpURLConnection conn = this.getHttpURLConnection();
InputStream in = conn.getInputStream();
byte[] buf = new byte[1024];
String str = "";
while (in.read(buf) != -1) {
str = new String(buf);
System.out.println("ME" + new Date() + str);
}
}
} catch (IOException e) {
e.printStackTrace();
}
}
private HttpURLConnection getHttpURLConnection() {
HttpURLConnection conn = null;
String cookie = "o_cookie=1637043667; RK=Zwyjx8FP2u; ptisp=ctc; ptui_loginuin=123123123; pt2gguin=o033123123; uin=o0123123123; skey=@ziypO5omF; ied_rf=ui.ptlogin2.qq.com/cgi-bin/login; pgv_pvid=1473587356; pgv_info=pgvReferrer=&ssid=s3597135535";
String referer = "http://qt.qq.com/client_act/detail.shtml?actid=581&r=0.5846301624551415";
String r = "0.9060123066883534";
try {
URL url = new URL(urlStr);
conn = (HttpURLConnection) url.openConnection();
conn.setConnectTimeout(5 * 1000);
conn.setDoOutput(true);
conn.setRequestMethod("GET");
conn.setRequestProperty("Accept", "*/*");
conn.setRequestProperty("Accept-Charset", "GBK,utf-8;q=0.7,*;q=0.3");
conn.setRequestProperty("Accept-Encoding", "gzip,deflate,sdch");
conn.setRequestProperty("Accept-Language", "zh-CN,zh;q=0.8");
conn.setRequestProperty("Connection", "keep-alive");
conn.setRequestProperty("Cookie", cookie);
conn.setRequestProperty("Host", "ptlogin2.qq.com");
conn.setRequestProperty("Referer", referer);
conn.setRequestProperty("User-Agent",
"Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.31 (KHTML, like Gecko) Chrome/26.0.1410.43 Safari/537.31");
conn.setRequestProperty("X-Requested-With", "XMLHttpRequest");
String param = "";
param += "actid=586&r=" + r;
PrintWriter out = new PrintWriter(conn.getOutputStream());
out.write(param);
out.flush();
conn.connect();
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (ProtocolException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return conn;
}
}
分享到:
相关推荐
2. 打开连接:通过`URLConnection`的`openConnection()`方法获取到`HttpURLConnection`对象,并调用`connect()`方法建立与服务器的连接。 3. 设置请求属性:你可以设置如`setDoOutput(true)`(对于POST请求)或`...
JAVA通过HttpURLConnection上传和下载文件的方法 JAVA通过HttpURLConnection上传和下载文件的方法是非常有实用价值的,需要的朋友可以参考下。HttpURLConnection是一个Java类,用于从网络中读取数据或向网络中写入...
当用户访问某个网站时,该网站可能会将 Cookie 信息写入到用户的浏览器中,以便下次用户访问该网站时能够快速识别用户的身份。 为什么需要模拟 Cookie 登陆? 在实际开发中,我们可能需要模拟用户的登陆行为,以便...
Java网络爬虫是一种用于自动化获取网页信息的程序,它能够模拟浏览器的行为,通过发送HTTP请求并接收响应来抓取网页内容。在这个特定的场景中,爬虫需要处理登录过程,以便能够携带有效的COOKIE信息来访问受保护的...
在Java中开发这样的浏览器涉及到多个核心概念和技术,以下是一些关键知识点: 1. **Java基础知识**:首先,开发者需要对Java有扎实的基础,了解类、对象、继承、多态等核心概念。此外,Java Swing或JavaFX库用于...
总结来说,Java实现多次HttpURLConnection共享session的关键在于正确处理Cookie,保存服务器返回的Session ID,并在后续请求中携带这个ID。通过这种方式,即使没有浏览器环境,也能模拟登录状态,爬取登录后的内容。...
用于对基于HTTP的服务进行抓取 HttpClient 现在是HttpComponents 把问题搞复杂了 其实Java内置的HttpURLConnection很好的 内含文档 使用方法见http: blog csdn net jdgdf566 article details 16357677
java HttpURLConnection示例 HttpURLConnection工具
本人原创测试了百度,搜狗,360搜索都可以获取重定向后的真实地址,直接运行就可以,也可以根据自己项目具体修改功能。java使用HttpURLConnection获取百度搜狗360搜索链接重定向真实目标链接地址url。
在安全性方面,Java浏览器需要考虑到Java的安全模型,确保用户数据和系统资源的安全。这涉及到限制不受信任代码的权限、处理网络请求时的SSL/TLS加密,以及对潜在恶意内容的检测和阻止。 性能优化也是Java浏览器...
import java.net.HttpURLConnection; import java.net.MalformedURLException; import java.net.URL; import java.util.List; import java.util.Map; public class HttpTest { private HttpURLConnection hc = ...
浏览器通过发送HTTP请求到服务器,请求可能包括GET或POST方法,以及头信息,然后接收HTTP响应,其中包含网页内容。 3. **解析HTML**:为了显示网页内容,你需要解析HTML。Java中可以使用Jsoup库,它是一个用于处理...
在Java编程语言中,HTTPURLConnection是Java标准库提供的一个接口,用于通过HTTP协议与服务器进行通信。这个接口在java.net包下,是处理HTTP请求的基础类,包括发送GET、POST等请求,以及文件上传功能。在本文中,...
这涉及到Java的反射机制和类加载器,以及可能的动态代码加载。 以上是基于Java实现浏览器的一些核心知识点。实际项目可能还包括更多细节,如错误处理、性能优化、用户界面定制等。通过学习和理解这些概念,开发者...
综上所述,“MonitorWeixinBrowser.java”可能包含了上述部分或全部功能,通过编写Java代码来模拟微信浏览器的网络行为,访问特定的Web页面。理解这些知识点对于开发和维护这样的程序至关重要。实际代码实现会涉及到...
这可以通过使用`java.net.HttpURLConnection`类来实现。首先建立到服务器的连接,然后设置请求方法为GET,并读取服务器返回的数据。 5. **HTML解析与渲染**: 收到服务器响应后,数据通常是HTML格式。Java没有内置...
Java 中HttpURLConnection附件上传的实例详解 Java 中HttpURLConnection附件上传的实例...通过本文,读者可以了解到Java 中HttpURLConnection附件上传的相关知识点,掌握使用HttpURLConnection实现附件上传的技能。
在Java中,这通常通过HttpURLConnection或HttpClient类完成。这些类提供了发送HTTP请求并接收响应的方法,允许浏览器获取HTML内容。 收到HTML响应后,JavaFX的WebView会解析并渲染页面,展示给用户。如果使用的是...
Java浏览器是一种基于Java编程语言开发的轻量级应用程序,它允许用户浏览网页并执行基本的互联网功能。在MyEclipse环境中开发的Java浏览器项目,利用了Java的强大功能和跨平台特性,为用户提供了一种不同于传统Web...
整个过程遵循了Java的"流式编程"模型,即通过流对象将数据从源头(网络)传输到目的地(本地文件)。 总的来说,这段代码展示了如何利用`HttpURLConnection`进行文件下载的基本步骤,包括创建连接、设置超时、读取...