现在用POST能够登录并回复。下面这段是登录代码
Private Sub Command1_Click() '登录论坛
If Text1.Text = "" Or Text2.Text = "" Then
    MsgBox "请检查是否正确输入", vbInformation, "提示:"
    Exit Sub
End If
If Inet1.StillExecuting = True Then Exit Sub
PostData = "fastloginfield=username&username=" & Text1.Text & "&password=" & Text2.Text & "&quickforward=yes&handlekey=ls&questionid=0&answer="
Inet1.Execute "http://bbs.*****.edu.cn/member.php?mod=logging&action=login&loginsubmit=yes&infloat=yes&inajax=1", "POST", PostData, "Referer:http://bbs.****.edu.cn/forum.php" & vbCrLf & "Content-Type:application/x-www-form-urlencoded"
Me.Caption = "正在登陆..."
End Sub
但是第一次登录成功之后,如果切换别的账号就会出问题,登上去的始终是用第一次登录时的账号。
【问题一】
点击退出时,抓包没有POST信息,只有GET.  能不能用get发送一个包让这个账号在服务器上注销掉呢?【问题二】
如果必须要清除cookie的话,有没有什么好办法,只清除这个网站关于用户登录信息的cookie?谢谢大家!

解决方案 »

  1.   

    inet是用的和ie共享的cookie,无法独立。还是使用xmlhttp吧。可以独立cookie,同时登录多个帐户互不影响,而且不会影响IE的cookie.
      

  2.   

    感谢楼上各位的回帖,问题已解决。
    http://www.sunshinebean.com/blog/article/44.htm---sunshinebean的代码确实管用,能够清除指定网页的cookie和缓存!下面这段代码是截出来只清除Cookie的:Option Explicit
                                                                     
    Private Const NO_ERROR = 0
    Private Const INTERNET_OPTION_END_BROWSER_SESSION = 42
    Private Const CSIDL_COOKIES = &H21&
    Private Type SHITEMID
        cb   As Long
        abID   As Byte
    End Type
    Private Type ITEMIDLIST
        mkid   As SHITEMID
    End Type
    Private Declare Function ShellAbout Lib "shell32.dll" Alias "ShellAboutA" (ByVal hWnd As Long, ByVal szApp As String, ByVal szOtherStuff As String, ByVal hIcon As Long) As Long
    Private Declare Function SHGetSpecialFolderLocation Lib "shell32.dll" (ByVal hwndOwner As Long, ByVal nFolder As Long, pidl As ITEMIDLIST) As Long
    Private Declare Function SHGetPathFromIDList Lib "shell32.dll" Alias "SHGetPathFromIDListA" (ByVal pidl As Long, ByVal pszPath As String) As Long
    Private Declare Function InternetSetOption Lib "wininet.dll" Alias "InternetSetOptionA" (ByVal hInternet As Long, ByVal dwOption As Long, ByRef lpBuffer As Any, ByVal dwBufferLength As Long) As LongPrivate Function GetSpecialfolder(CSIDL As Long) As String
        Dim r     As Long
        Dim IDL     As ITEMIDLIST
        Dim path     As String
        r = SHGetSpecialFolderLocation(100, CSIDL, IDL)
        If r = NO_ERROR Then
            path = Space$(512)
            r = SHGetPathFromIDList(ByVal IDL.mkid.cb, ByVal path$)
            GetSpecialfolder = Left$(path, InStr(path, Chr$(0)) - 1)
            Exit Function
        End If
        GetSpecialfolder = ""
    End Function
                                                                        
    Private Sub Command1_Click()
        Dim CookiesPath$, File$
        CookiesPath = GetSpecialfolder(CSIDL_COOKIES)                               '获取COOKIES文件夹路径
        Call InternetSetOption(0, INTERNET_OPTION_END_BROWSER_SESSION, ByVal 0&, 0) '为了防止在ie打开时,内存中还有部分COOKIES存在,加了下面这句
        File = Dir(CookiesPath & "\*.txt")
        Do
            If File = "" Then Exit Do
            On Error Resume Next
            If InStr(File, "baidu") <> 0 Then Kill CookiesPath & "\" & File & ""
            File = Dir
        Loop
    End Sub