百度发帖数据包tbs参数问题
vb吧
全部回复
仅看楼主
level 5
小西蠢材 楼主
全部代码如下。
Private Sub Command3_Click()
If Text3.Text = "" Then
MsgBox "请输入内容", vbOKOnly, "提示"
Else
Command4.Enabled = True
Text3.Locked = True
Command3.Enabled = False
Timer1.Enabled = True
Dim PostDate1 As String
     If Inet1.StillExecuting = True Then Exit Sub
     PostDate1 = "kw=%E5%8D%97%E5%B1%B1%E4%B8%AD%E5%AD%A6&floor_num=90971&ie=utf-8&vcode_md5=&fid=442211&rich_text=1&tid=710679203&hasuploadpic=0&useSignName=on&add_post_submit=%20%E5%8F%91%20%E8%A1%A8%20&content=" & Text3.Text & "&tbs=" & tbs
     Inet1.Execute "https://tieba.baidu.com/f/commit/post/add", "POST", PostDate1, "Referer: https://tieba.baidu.com/f?z=710679203" & vbCrLf & "Content-Type: application/x-www-form-urlencoded"
End If
End Sub

2011年04月17日 02点04分 1
level 5
小西蠢材 楼主
Private functiоn getHtmlStr$(strUrl$)   
说广告。。。发不出来
2011年04月17日 02点04分 2
level 5
小西蠢材 楼主
Private functiоn getHtmlStr$(strUrl$)                                           '获取源码
    Dim Xm1Http
    Set Xm1Http = CreateObject("Microsoft.XM1HTTP")
    Xm1Http.Open "GET", strUrl, True
    Xm1Http.send
    stime = Now                                                                 '获取当前时间
    While Xm1Http.ReadyState <> 4
        DoEvents
        ntime = Now                                                             '获取循环时间
        If DateDiff("s", stime, ntime) > 3 Then getHtmlStr = "": Exit functiоn  '判断超出3秒即超时退出过程
    Wend
    getHtmlStr = StrConv(Xm1Http.ResponseBody, vbUnicode)
    Set Xm1Http = Nothing
End functiоn
2011年04月17日 02点04分 3
level 5
小西蠢材 楼主
Private Sub Get_yuanma()                                                        '获取主题源码
    Dim Ret As Long
    If Len(Combo1.Text) = 0 Then Exit Sub
    bianma = URLEncoding(Combo1.Text)
    shangdi = getHtmlStr$("https://tieba.baidu.com/f?kw=" & bianma & "")
    If shangdi = "" Then
        If Form1.WindowState = 1 Then
            MessageBoxTimeout GetDesktopWindow, "获取信息超时,请检幷查网络连接", "提示", vbInformation, 0, 5000
        ElseIf Form1.WindowState = 0 Then
            MsgBox "获取信息超时,请检幷查网络连接", vbInformation, "提示"
        End If
        Exit Sub
    End If
2011年04月17日 02点04分 4
level 5
小西蠢材 楼主
weiy = 0
    Dim t1 As String, t2 As String, t3 As String, t4 As String, t5 As String, t6 As String
    t1 = InStr(shangdi, "<input type=""hidden"" name=""tbs"" id=""tbs""")
    If t1 <> 0 Then                                                             '找出tbs
        t2 = InStr(t1, shangdi, "value")
        t3 = InStr(t2 + 10, shangdi, """")
        tbs = Mid(shangdi, t2 + 7, t3 - t2 - 7)
    End If
    t4 = InStr(shangdi, "<input type=""hidden"" name=""fid"" id=""fid""")
    If t4 <> 0 Then                                                             '找出fid
        t5 = InStr(t4, shangdi, "value")
        t6 = InStr(t5 + 8, shangdi, """")
        fid = Mid(shangdi, t5 + 7, t6 - t5 - 7)
    End If
    Text4.Text = shangdi
End Sub
2011年04月17日 02点04分 5
level 5
小西蠢材 楼主
好了,分开就发完了
2011年04月17日 02点04分 6
level 1
POST帖子tbs 和 验证码 是个难题~! 主要是不了解,用HttpWatch 抓包的时候,只有点击验证码输入框的时候才给图片地址!
期待高手指点~!
2011年04月17日 07点04分 7
level 1
发帖的POST代码求 高人 来纠正!~!
Private Sub Command2_Click()
Dim PostDate$
PostDate = "kw=" & Combo1.Text & "&floor_num=0&ie=utf-8&vcode_md5=&fid=1177&rich_text=1&tid=710679203&hasuploadpic=0&useSignName=on&add_post_submit=%20%E5%8F%91%20%E8%A1%A8%20&title=" & Text4 & "&content=" & Text5.Text & "&tbs=" & tbs
Inet1.Execute "http://tieba|baidu|com/f/commit/thread/add", "POST", PostDate, "Referer: http://tieba|baidu|com/f?kw=" & Combo1.Text & vbCrLf & "Content-Type: application/x-www-form-urlencoded"
End Sub
2011年04月17日 08点04分 11
level 5
小西蠢材 楼主
关键是tbs
2011年04月17日 09点04分 13
level 13
晕死,发帖的时候参数全部是在当前源码里找的到的
验证码什么的你就根据当前吧的一些参数模拟向服务器请求好了,服务器会给你一串东东
然后你再把这串东东串上一串地址组装起来去请求就是验证码了
2011年04月17日 09点04分 14
level 1
版主就把POST的包发布下~! 获取验证码的POST包 和 发帖子POST包
2011年04月17日 09点04分 15
level 5
小西蠢材 楼主
就是没把tbs 从源码里找到
2011年04月17日 09点04分 16
level 5
小西蠢材 楼主
回复15楼:
你已经搞定了?
2011年04月17日 09点04分 17
level 1
没有搞定~!不知道如何发包------------期待高手爆点内幕~!
2011年04月17日 10点04分 18
level 5
小西蠢材 楼主
我再去请教下同学
2011年04月17日 11点04分 21
level 5
小西蠢材 楼主
谁的楼,被抽了那么多啊?
2011年04月17日 11点04分 22
level 13
哎,你们呐。。。
发帖嘛举个例子,去https://tieba.baidu.com/f?kw=sunshinebean发,post包是这样:
kw=sunshinebean&fid=2099865&tid=0&floor_num=0&vcode_md5=&pic_url=&rich_text=1&hasuploadpic=0&title=Test%20Post&useSignName=on&add_post_submit=xxx&content=yyy&ie=utf-8&tbs=zzz
tbs就是在当前的 https://tieba.baidu.com/f?kw=sunshinebean源码里知道不
这里的一切参数除了自定义签名和验证码需要去获取,帖子标题、内容自己造外别的全部可以在当前源码里获取。。干嘛说没有呢,tbs参数又不是固定的,每次刷新一次网页tbs都会变化的,你去源码里搜索tbs:肯定能找到的
2011年04月17日 11点04分 23
level 5
小西蠢材 楼主
哦…我只有等放假再试试了
2011年04月17日 12点04分 24
level 12
'''找tbs参数值
    zStart = InStr(s, "tbs:")
    If zStart = 0 Then lblStatus = "不能获取tbs参数": Exit Sub
    zEnd = InStr(zStart + 5, s, """")
    tbs = Mid(s, zStart + 5, zEnd - zStart - 5)
'''自动发贴什么本人做了好久了……验证码直接忽略了,哈哈~只限会员发贴回贴~
2011年04月18日 07点04分 25
level 15
/dc/common/tbs 从这里面获取,返回的数据是json格式
2015年04月10日 03点04分 27
1 2 尾页