you probably need to use the content-type to "application/x-www-form-urlencoded" and the url is the correct url for the form submission

解决方案 »

  1.   

    I would suggest you to use HttpWebRequest/HttpWebResponse classes in System.Net, see
    http://www.west-wind.com/presentations/dotnetWebRequest/dotnetWebRequest.htm
      

  2.   

    谢谢思归,希望能连带看一个相关问题,这个问题困扰我好长时间了。
    http://expert.csdn.net/Expert/topic/1957/1957476.xml?temp=8.849734E-02
      

  3.   

    一般这样实现吧,首先在axWebBrowser中打开这个网页,然后找到对应得两个输入框,设定其内容,再触发点击按钮事件
      

  4.   

    好办法,那么如何实现让button自动click呢?谢谢。
      

  5.   

    Private Sub AxWebBrowser1_DocumentComplete(ByVal sender As Object, ByVal e As AxSHDocVw.DWebBrowserEvents2_DocumentCompleteEvent) Handles AxWebBrowser1.DocumentComplete
            Dim vDoc, vTag
            Dim i As Integer
            Dim nPageID As Integer
            Dim strElementType As String
            Dim strElementName As String
            Dim strElementValue As String        If p_nCurrPage >= p_nPageCount Then
                Exit Sub
            End If        'If Not (e.pDisp Is AxWebBrowser1.Object) Then
            '    Exit Sub
            'End If        bFillFinished = False
            nPageID = myDataset.Tables("tPage").Rows(p_nCurrPage)("nPageID")
            strSQL = "SELECT tElement.strElementName, tElement.strElementValue, tElementType.nElementType " & _
                "FROM tElement INNER JOIN tElementType ON tElement.nElementTypeID = tElementType.nElementTypeID " & _
                "WHERE (tElement.bActive = 1) AND (tElement.nPageID = " & nPageID & ") AND (tElement.nIssue_Target = " & p_nIssueTargetID & ") " & _
                "ORDER BY tElement.nElementID"        mySqlDataAdapter = New SqlDataAdapter(strSQL, mySqlConnection)
            If Not (myDataset.Tables("tElement") Is Nothing) Then
                myDataset.Tables("tElement").Clear()
            End If
            mySqlDataAdapter.Fill(myDataset, "tElement")        vDoc = AxWebBrowser1.Document
            vdoc2 = CType(vDoc, mshtml.IHTMLDocument2)
            List1.Items.Clear()
            For i = 0 To myDataset.Tables("tElement").Rows.Count - 1
                strElementType = myDataset.Tables("tElement").Rows(i)("nElementType")
                strElementType = LCase(strElementType).Trim
                strElementName = myDataset.Tables("tElement").Rows(i)("strElementName")
                strElementName = strElementName.Trim
                strElementValue = myDataset.Tables("tElement").Rows(i)("strElementValue") & ""
                strElementValue = strElementValue.Trim
                Select Case strElementType
                    Case "value"
                        vdoc2.all.item(strElementName).value = strElementValue
                    Case "frame"                Case "file"
                        SetForegroundWindow(Me.Handle.ToInt64)
                        strFileElementName = strElementName
                        strFileElementValue = strElementValue
                        Me.strElementType = strElementType
                        vdoc2.all.item(strElementName).focus()
                        SendKeys.Send(strElementValue)
                    Case "checked"
                        vdoc2.all.item(strElementName).checked = strElementValue
                    Case "select"
                        Dim nOption As Integer
                        For nOption = 0 To vdoc2.all.item(strElementName).Options.length() - 1
                            If vdoc2.all.item(strElementName).Options(nOption).Text = strElementValue Then
                                vdoc2.all.item(strElementName).Options(nOption).Selected = True
                            End If
                        Next nOption
                    Case "click"
                        strClickElementName = strElementName
                End Select
                List1.Items.Add(strElementName)
            Next i
            bFillFinished = True
        End Sub本人调试通过,而且是通过读数据库内容自动填写并提交
      

  6.   

    Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
            If p_bFirstOpen Then
                p_bFirstOpen = False
                AxWebBrowser1.Navigate(p_strIssueTargetAddr)
            End If
            If (strElementType = "file") Then
                SetForegroundWindow(Me.Handle.ToInt64)
                'BringWindowToTop(Me.Handle.ToInt64)
                'SetFocusAPI&(Me.Handle.ToInt64)
                If strFileElementValue <> vdoc2.all.item(strFileElementName).value Then
                    vdoc2.all.item(strFileElementName).focus()
                    AxWebBrowser1.Navigate(AxWebBrowser1.LocationURL)
                    SendKeys.Send(strFileElementValue)
                    Exit Sub
                End If
            End If
            If bFillFinished Then
                If (p_nCurrPage < p_nPageCount) Then
                    If strTextAreaElementName = "" Then
                        vdoc2.all.item(strClickElementName).click()
                    End If                p_nCurrPage = p_nCurrPage + 1
                    bFillFinished = False
                    If (p_nCurrPage = p_nPageCount) And strTextAreaElementName = "" Then
                        p_bFinished = True
                    End If
                End If
            End If
        End Sub
    加上这一段可以自动上传文件。