`

(最新)HttpClient4模拟登录腾讯微博

 
阅读更多

        今天在查看网络抓取运行日志时候发现腾讯微博数据获取出现异常,进行跟踪之后发现之前的模拟登陆出现了问题,确切的说是腾讯进行部分代码的调整导致登陆失败。解决思路如下:

1. 查看一下请求地址及参数是否发生变化,如下图:



 

结论:action、login_sig这两个参数导致登陆失败

2. 分析action、login_sig参数的来源



 通过http://jsbeautifier.org/在线格式化工具进行格式化,最终的文件:h_login_11.rar  找到action参数的处理逻辑,仅仅是记录用户键盘行为,不会对登陆有影响,对应就只剩下login_sig这个参数了,但是在h_login_11.js文件中没有发现这个参数,经过分析推测不在js文件中,那就有可能在html中包含的script标签中,经过查看发现如下:


至此,参数确定完毕。

3.基于httpclient 4 来实现参见附件Weibo.rar

核心代码1 写道
/********************* 获取login_sig***********************/
HttpGet preget = new HttpGet("http://ui.ptlogin2.qq.com/cgi-bin/login?appid=46000101&style=13&lang=&low_login=1&hide_title_bar=1&hide_close_icon=1&self_regurl=http%3A//reg.t.qq.com/index.php&s_url=http%3A%2F%2Ft.qq.com&daid=6");
preget.setHeader("Host", "ui.ptlogin2.qq.com");
preget.setHeader("Referer", "http://t.qq.com/?from=11");

HttpResponse response = client.execute(preget);

String entity = EntityUtils.toString(response.getEntity());
String t=entity.substring(entity.indexOf("login_sig:"), entity.indexOf("clientip:"));
String login_sig=t.substring(t.indexOf("\"")+1, t.lastIndexOf("\""));
核心代码2 写道
response = client.execute(get);
entity = EntityUtils.toString(response.getEntity());
/************************* login_sig check ****************************/
String term=entity.split(",")[2];
String url=term.substring(term.indexOf("\'")+1, term.lastIndexOf("\'"));
if (entity.indexOf("登录成功") > -1) {
get = new HttpGet(url);
response = client.execute(get);
entity = EntityUtils.toString(response.getEntity());
}
 

 

 

 

 

 

 

  • 大小: 113.6 KB
  • 大小: 147.7 KB
  • 大小: 137.4 KB
  • 大小: 94.4 KB
分享到:
评论

相关推荐

    新浪,腾讯微博HttpClient4模拟登陆

    本文将深入探讨如何使用Java中的HttpClient4库来实现对新浪和腾讯微博的模拟登录。HttpClient4是一个强大的HTTP客户端库,它允许开发者执行HTTP请求并处理响应,非常适合进行网页交互。 首先,我们来看`Sina.java`...

    模拟登陆新浪微博

    在这个场景中,我们关注的是如何使用HTTPClient 4库来模拟登录新浪微博。首先,我们需要理解HTTPClient库的基本概念。 HTTPClient是一个强大的Java库,用于处理HTTP请求和响应。它提供了丰富的功能,包括支持HTTPS...

    httpclient4之百度模拟登陆,回复与58同城自动登陆

    本主题将深入探讨如何使用HttpClient4库进行百度和58同城的模拟登陆操作。HttpClient4是一个强大的Java库,它提供了丰富的功能来执行HTTP请求,非常适合进行网页交互。 首先,我们来了解HttpClient4的基本用法。...

    腾讯微博api封装

    腾讯微博API封装是一个针对开发者的工具,旨在简化与腾讯微博平台的交互过程,方便开发者集成腾讯微博的功能到自己的应用中。下面将详细讲解这个过程,包括API授权、接口调用和封装方法。 首先,让我们从授权开始。...

    asp.net 腾讯微博新浪微博帐号登录 授权

    4. 获取授权码:用户授权后,腾讯微博会重定向回我们设置的回调地址,并附带一个授权码。 5. 换取Access Token:使用App Key、App Secret和授权码,向腾讯微博API发送POST请求,换取Access Token和Access Token ...

    java模拟登陆新浪微博(非API)

    在本文中,我们将深入探讨如何使用Java来模拟登录新浪微博,特别是在其改版后增加了复杂性的背景下。我们将不依赖新浪提供的官方API,而是通过模拟浏览器的行为,实现自动化登录和交互。 首先,我们需要理解模拟...

    免授权 自动登录发布腾讯微博

    标题中的“免授权 自动登录发布腾讯微博”指的是一个Java开发的应用程序,它能够自动登录腾讯微博并发布微博,无需用户手动输入权限或授权信息。这个功能可能通过模拟登录过程和利用API接口来实现。 首先,我们要...

    腾讯微博第3方接入

    腾讯微博第三方接入是开发者通过腾讯提供的API接口,实现与腾讯微博平台的互动,允许开发者在自己的应用程序中嵌入微博功能,如发布微博、获取用户信息、转发和评论等。.NET平台接入指的是使用Microsoft的.NET框架...

    HttpClient4模拟登录回贴

    这篇博客“HttpClient4模拟登录回贴”显然探讨了如何利用HttpClient4库进行网络模拟登录以及在特定网站上发布帖子。HttpClient4适用于各种场景,如自动化测试、数据抓取等,它允许开发者构建复杂的HTTP交互逻辑。 ...

    httpclient4 微信公众账号模拟登陆

    httpclient4 微信公众账号模拟登陆,网络上看到的,觉得不错上传出来,供大家一起共同分享学习。

    Android 腾讯微博客户端源码

    《深入剖析Android腾讯微博客户端源码》 在移动互联网领域,Android平台上的微博客户端作为社交媒体的重要组成部分,一直是开发者关注的焦点。本篇文章将基于“Android腾讯微博客户端源码”这一主题,深入探讨其中...

    HttpClient4.3模拟登陆新版12306

    本篇文章将详细讲解如何利用HttpClient 4.3版本来模拟登录新版12306(中国铁路客户服务中心网站)。 1. **HttpClient介绍** HttpClient是Apache的一个开源项目,它提供了强大的HTTP协议处理能力和灵活的HTTP客户端...

    新浪微博与腾讯微博

    总结来说,开发一个能获取新浪微博和腾讯微博@当前用户信息的C# WinForm应用,涉及的关键技术包括:理解微博API,OAuth2.0授权,使用HttpClient发送HTTP请求,JSON数据解析,以及WinForm界面设计和部署。每个环节都...

    Jsoup+httpclient模拟登陆和抓取页面.pdf

    Jsoup+httpclient模拟登陆和抓取页面.pdf

    C#模拟登陆微博分享。

    在本文中,我们将深入探讨如何使用C#编程语言来实现模拟登录微博并进行内容分享,特别是在实际项目中可能遇到的挑战和技术细节。 首先,我们需要理解C#的基础知识。C#是一种面向对象的、类型安全的编程语言,由微软...

    新浪腾讯微博安卓开发jar包

    标题 "新浪腾讯微博安卓开发jar包" 描述的是一个针对Android平台开发的微博客户端所使用的库文件集合。这个集合包含了多个必要的Java Archive (JAR) 文件,这些文件是开发能够接入新浪和腾讯微博服务的应用程序所...

    用java登陆新浪微博

    httpclient方式登陆,以及发布微博

    Java版|腾讯微博|OAuth2.0授权|官方方法|可发文本和图片|示例代码

    在本文中,我们将深入探讨如何使用Java实现腾讯微博的OAuth2.0授权,并结合官方方法发送文本和图片。首先,让我们了解OAuth2.0的基本概念,然后详细讲解腾讯微博的TAPI(Tencent API)以及如何整合这些知识来实现所...

    Android代码-腾讯微博客户端源码1.zip

    【Android代码-腾讯微博客户端源码1.zip】这个压缩包包含的是腾讯微博的客户端源代码,主要用于学习和研究Android应用开发。在这个项目中,我们可以深入理解一个大型社交应用的架构设计、功能实现以及性能优化等方面...

Global site tag (gtag.js) - Google Analytics