(HttpClient技术)(58同城系列)58同城发帖

58同城的登陆和加密,都已经被我破解了,那其实目的就一目了然了,是的,目的就是58同城的模拟发帖。

为了写这个发帖机,我是煞费苦心,百度和谷歌,到处搜索资料,结果,一无所获,是的,真的是一无所获,基本上,所有的搜索,都找不到相关资料,我无语了,这是咋回事呢,难道58同城做了封杀,把所有的资料,都封杀了,为此,我忐忑不安,写文章之前,我还在想,我写了这个文章,是不是也会立刻被封杀呢。。。

不过想再多,发还是要发的,分享一下我的经验给大家,就给58同城开个刀吧

58同城的登陆成功了,那么发帖就很容易了,其实,不然,发帖才是真正有难度的,写发帖,建议,必须使用httpclient 4以上版本,难度小一些,3的版本,难度有点大,很是不建议

首先,模拟进入发帖页面,这些我就不详细累赘了,

从发帖开始,开始发帖,首先注意到了,Content-Type,这个字段是一个multipart/form-data; ,一万匹马从我的脑海中飞过啊,这个东西,httpclient3的版本,兼容的不好,只有的4里面,有兼容,下面我吧兼容的代码贴出来,供大家参考一下:

4里面可以使用MultipartEntity,模拟multipart/form-data;

MultipartEntity mutiEntity = new MultipartEntity();

MultipartEntity mutiEntity = new MultipartEntity();
mutiEntity.addPart("daizhaogongsiID",new StringBody("", Charset.forName("utf-8")));
mutiEntity.addPart("parentuid",new StringBody(userid, Charset.forName("utf-8")));
mutiEntity.addPart("childuserid",new StringBody(userid, Charset.forName("utf-8")));
mutiEntity.addPart("fulibaozhang",new StringBody("1|8|6|9|2|7", Charset.forName("utf-8")));
g3.setEntity(mutiEntity);
HttpResponse httpResponse = httpClient.execute(g3);
HttpEntity httpEntity = httpResponse.getEntity();
String sg3 = EntityUtils.toString(httpEntity)

好的,这个难关过了,那么可以开始发送了

开始,连续3天,都出现这个错误,无法成功:

document.domain='58.com'; parent.$.formValidator.subfalse('aspnetForm', 'fabu'); parent.$.c.user.loginsuccess_callback('25393157009927');parent.$('#frmPassport').closest('tr').remove();parent.$.xxzl.cptr.destroy();parent.$.xxzl.cptr.init('3b0e29dae7bb0020f6b0a2d709a3acd34f');

这个错误,看的出来,其实,是已经发到服务器了,但是某个参数出错了,仔细研究了一下,才发现,原来是这个参数引起的,

经过一星期的奋战,终于,完全通过了58的发帖机制,太不容易了,有啥问题,大家联系我哈,嘿嘿



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值