吧主lipeiyi2006请进,可以请教一下删帖的代码吗
vb2010吧
全部回复
仅看楼主
level 3
hawk396 楼主
我写了一段VB程序,想删除贴吧的垃圾贴,可是删除不成功,可以给一下代码吗?
2012年04月22日 15点04分 1
level 9
''' <summary>
''' 删主题帖/撤精/置顶 表单
''' </summary>
''' <remarks></remarks>
Structure fdata_delete
Const ie As String = "utf-8"
Dim tbs As String
Dim kw As String
Dim fid As String
Dim tid As String
End Structure
''' <summary>
''' 删回复贴
''' </summary>
''' <remarks></remarks>
Structure fdata_delete_replay
Const ie As String = "utf-8"
Const is_finf As String = "false"
Dim tbs As String
Dim kw As String
Dim fid As String
Dim tid As String
Dim pid As String
End Structure

2012年04月22日 15点04分 3
level 3
hawk396 楼主
老大,你的是两个结构定义啊,没有过程代码啊,麻烦老大再指点一下吧
2012年04月22日 15点04分 4
level 9
上面是百度贴吧的删帖 HTTP POST 表单构造
你要做的就是给表单各各参数赋值,然后连接成URL参数形式,发送给服务器就行了。
以删除回复贴为例:
Structure fdata_delete_replay
Const ie As String = "utf-8"
Const is_finf As String = "false"
'上面两个常量是固定的
Dim tbs As String '度娘的tbs效验码,可以在本帖源代码中找到
Dim kw As String '贴吧名称
Dim fid As String '贴吧对应的ID号,可以在本帖源代码中找到
Dim tid As String '帖子ID URL后面一串数字,比如本贴是1544293120
Dim pid As String '楼的ID号,可以每层楼的源代码中找到
End Structure
删除主题贴与上述相似 。

2012年04月22日 15点04分 5
level 3
hawk396 楼主
多谢老大,我搞了两个晚上也没搞明白
我用下面的代码,你看对吗,这段代码之前,已经用吧主的身份登录了,tbs也从网页代码中取出来了,但就是删除不成功
url = "https://tieba.baidu.com/f/commit/thread/delete"
tid = "1539150432"
With xmlhttp
.Open "POST", url, False
.setRequestHeader "CONTENT-TYPE", "application/x-www-form-urlencoded"
.send "tbs=" & tbs & "&kw=童丽&fid=1014687&&tid=" & tid & "&ie=utf-8"
End With

2012年04月22日 15点04分 6
level 9
fid=1014687&&tid=
两个&怎么回事?
2012年04月22日 15点04分 7
level 9
你这貌似是VB6的代码啊?[汗]
2012年04月22日 15点04分 8
level 3
hawk396 楼主
晕,刚改的时候,多写了一个,这思路没问题吧?
2012年04月22日 15点04分 9
level 3
hawk396 楼主
是啊,是VB6的,我只会这个啊
2012年04月22日 15点04分 10
level 9
.....这里只讨论VB.NET[汗]
xmlhttp 是什么?
2012年04月22日 15点04分 11
level 3
hawk396 楼主
把那个多余的&去掉了,还是不成功啊
Dim xmlhttp As Object
Set xmlhttp = CreateObject("Microsoft.XMLHTTP")
url = "https://tieba.baidu.com/f/commit/thread/delete"
tid = "1539150432"
With xmlhttp
.Open "POST", url, False
.setRequestHeader "CONTENT-TYPE", "application/x-www-form-urlencoded"
.send "tbs=" & tbs & "&kw=童丽&fid=1014687&tid=" & tid & "&ie=utf-8"
End With
2012年04月22日 15点04分 12
level 3
hawk396 楼主
程序运行后,返回内容如下:
{"no":308,"error":"","data":{"fid":1014687,"fname":"\u7ae5\u4e3d","is_login":1,"thread_id":1539150432,"post_id":0,"content":""}}
2012年04月22日 15点04分 13
level 9
发送的数据,要求有Cookie,而你似乎没有定义Cookie参数啊?
2012年04月22日 15点04分 14
level 9
Case 308
msg = "tbs校验未通过."
2012年04月22日 15点04分 15
level 9
你的TBS取错了.,应该是那个长一点的字符串
2012年04月22日 15点04分 16
level 3
hawk396 楼主
老大,Cookie参数怎么得到啊?可以加你QQ吗
2012年04月22日 15点04分 17
level 3
hawk396 楼主
那我再看看TBS
2012年04月22日 16点04分 18
level 9
给你发站内信了
2012年04月22日 16点04分 19
level 9
我时间不多了,我看你快成功了,有什么问题发帖子吧,我不常上Q
2012年04月22日 16点04分 20
level 3
hawk396 楼主
下面就是要删除的贴子的源码,我就是取的tbs:"2adb60f616737dbf1335110660"这个做TBS啊
var PageData={ is_uber:1,is_newfrs:0,curr_href:escape(window.location.href),is_login:1,can_post:1,can_anonym_post:1,forum_type : 0, forum_id:1014687,forum_name:"童丽",forum_name_u:"%CD%AF%C0%F6",forum_url:"/f?kw=%CD%AF%C0%F6",user_name:"hawk396",user_name_url:"hawk396",pdc_friend_sign:"",total_post_num:4,thread_url:"/p/1544048059",thread_cur_url:"/p/1544048059?pn=1",curr_page_num:1,all_page_num:1,need_captcha:0,follow_sign:"6c639b8aa9009eb0",forward_sign:"76d1f352d6f5ef28",member_status : 5,forum_name_hj:"童丽",tbs:"2adb60f616737dbf1335110660",tbs_loaded:1,// 原来的tbs由异步获取,现改为用UI获取,需要此参数禁止异步的使用 by owenfirst_class:"娱乐明星",second_class:"内地明星",ecom_sid:"6b79f5ea02f13a5e",show_cpro:"1",page_id : 1, fixedwidth : 0, page : 'pb', TB_JSCSSTAG : 120418104152, is_last_page:"1",//是否为最后一页,RP尾页底侧推荐使用 is_lzl:"0", staticDomain:"http://static.tieba.baidu.com/"
2012年04月22日 16点04分 21
1