以下是网页中 Form 区的内容:
<form method="post" name="input" action="pm.php?action=send&pmsubmit=yes" onSubmit="javascript: this.pmsubmit.disabled=true">
<input type="hidden" name="formhash" value="9dd96c20"><table cellspacing="0" cellpadding="0" border="0" width="98%" align="center">
<tr> <td bgcolor="#B7B7B7"><table border="0" cellspacing="1" cellpadding="4" width="100%">
<tr>
<td width="100%" colspan="2" class="header">发送短消息</td>
</tr><tr><td bgcolor="#FFFFFF" width="18%">到:</td>
<td bgcolor="#F7F7F7" width="82%"><input type="text" name="msgto" size="50" value=""></td></tr>
<tr>
<td bgcolor="#FFFFFF">标题:</td>
<td bgcolor="#F7F7F7"><input type="text" name="subject" size="65" value=""></td>
</tr><tr>
<td valign="top" bgcolor="#FFFFFF">内容:</td>
<td bgcolor="#F7F7F7"><textarea rows="8" name="message" cols="65" onKeyDown="javascript: ctlent();"></textarea>
<br><span class="smalltxt"><input type="checkbox" name="saveoutbox" value="1">保存到发件箱中 &nbsp; [完成后可按 Ctrl+Enter 发布]</span></td>
</tr></table>
</td></tr></table><br><center>
<input type="submit" name="pmsubmit" value="提 &nbsp; 交">
</center></form>请问如何才能在程序中自动提交?

解决方案 »

  1.   

    不好意思 就是说 如何在程序中 向服务器提交一个 含有 表单信息的Web请求。
      

  2.   

    我想的是让客户端WinForm程序自动按下那个按钮,就是说用户看不到Web页面的情况下,让程序来执行提交的功能。
      

  3.   

    我如何模仿这个表单向服务器端POST请求?
      

  4.   

    Post类型的页面相对简单,可以用System.Net.WebClient对象进行模拟,它的UpldoadValues方法就好了。 如果是Session类型的就坎坷一些。 
    建议用Sniffer一类的宝贝先分析一下页面的机制。
      

  5.   

    Window Form中模拟提交web form 中表单 下面是没有文件上传的普通表单提交! Public Function PostDate()Function PostDate(ByVal url As String, ByVal PostData() As String) As String
            Dim Post As String = ""
            For Each s As String In PostData
                Post += s + "&"
            Next
            Post = Post.Substring(0, Post.Length - 1)
            Dim html As String = ""        Dim encoding As Encoding = encoding.GetEncoding("GB2312")
            Dim data As Byte() = encoding.GetBytes(Post)
            Dim myRequest As HttpWebRequest = CType(WebRequest.Create(url), HttpWebRequest)
            myRequest.Method = "POST"
            myRequest.ContentType = "application/x-www-form-urlencoded"
            myRequest.ContentLength = data.Length
            Dim newStream As Stream = myRequest.GetRequestStream()
            newStream.Write(data, 0, data.Length)
            newStream.Close()
            Dim resp As HttpWebResponse = CType(myRequest.GetResponse(), HttpWebResponse)
            Dim sr As StreamReader = New StreamReader(resp.GetResponseStream(), System.Text.Encoding.Default)
            html = sr.ReadToEnd()        Return html
        End Function使用:
     Dim postdata As String() = {"id=luajiu", "pw=xxxx", "ipmask=0"}        Dim strUrl As String = "http://bbs.cau.edu.cn/wusetu.cn/bbslogin"
            Dim SessionHtml As String = PostDate(strUrl, postdata)
    有文件上传的  Dim myWebClient As New WebClient
    Dim responseArray As Byte() = myWebClient.UploadFile(uriString, "POST", fileName)
    dim html as string=Encoding.Default.GetString(responseArray)  
    看我的blog
    http://www.cnblogs.com/contlu/archive/2005/01/08/88698.html
      

  6.   

    下面这样:
    Window Form中模拟提交web form 中表单 下面是没有文件上传的普通表单提交! Public Function PostDate()Function PostDate(ByVal url As String, ByVal PostData() As String) As String
            Dim Post As String = ""
            For Each s As String In PostData
                Post += s + "&"
            Next
            Post = Post.Substring(0, Post.Length - 1)
            Dim html As String = ""        Dim encoding As Encoding = encoding.GetEncoding("GB2312")
            Dim data As Byte() = encoding.GetBytes(Post)
            Dim myRequest As HttpWebRequest = CType(WebRequest.Create(url), HttpWebRequest)
            myRequest.Method = "POST"
            myRequest.ContentType = "application/x-www-form-urlencoded"
            myRequest.ContentLength = data.Length
            Dim newStream As Stream = myRequest.GetRequestStream()
            newStream.Write(data, 0, data.Length)
            newStream.Close()
            Dim resp As HttpWebResponse = CType(myRequest.GetResponse(), HttpWebResponse)
            Dim sr As StreamReader = New StreamReader(resp.GetResponseStream(), System.Text.Encoding.Default)
            html = sr.ReadToEnd()        Return html
        End Function使用:
     Dim postdata As String() = {"id=luajiu", "pw=xxxx", "ipmask=0"}        Dim strUrl As String = "http://bbs.cau.edu.cn/wusetu.cn/bbslogin"
            Dim SessionHtml As String = PostDate(strUrl, postdata)
    有文件上传的  Dim myWebClient As New WebClient
    Dim responseArray As Byte() = myWebClient.UploadFile(uriString, "POST", fileName)
    dim html as string=Encoding.Default.GetString(responseArray)  
    看我的blog
    http://www.cnblogs.com/contlu/archive/2005/01/08/88698.html