Frage

Ich bin ratlos, warum das nicht funktioniert kann keine Probleme zu finden scheint.

Hier ist der Code.

Public Const MULTIPART_BOUNDARY = "speed"
Function getBalance() As String
Dim sEntityBody As String
Dim postBody() As Byte
Dim username As String
Dim password As String

username = CStr(frmMain.txtUser.text)
password = CStr(frmMain.txtPass.text)

sEntityBody = "--" & MULTIPART_BOUNDARY & vbCrLf
sEntityBody = sEntityBody & "Content-Disposition: form-data; name=""function""" & vbCrLf & vbCrLf & "balance" & vbCrLf
sEntityBody = sEntityBody & "--" & MULTIPART_BOUNDARY & vbCrLf
sEntityBody = sEntityBody & "Content-Disposition: form-data; name=""username""" & vbCrLf & vbCrLf & username & vbCrLf
sEntityBody = sEntityBody & "--" & MULTIPART_BOUNDARY & vbCrLf
sEntityBody = sEntityBody & "Content-Disposition: form-data; name=""password""" & vbCrLf & vbCrLf & password & vbCrLf
sEntityBody = sEntityBody & "--" & MULTIPART_BOUNDARY & "--" & vbCrLf

postBody = StrConv(sEntityBody, vbFromUnicode)

Dim xhr As Object
Set xhr = CreateObject("WinHttp.WinHttpRequest.5.1")
xhr.Option(WinHttpRequestOption_EnableRedirects) = False
If xhr Is Nothing Then Set xhr = CreateObject("WinHttp.WinHttpRequest")
If xhr Is Nothing Then Set xhr = CreateObject("MSXML2.ServerXMLHTTP")
If xhr Is Nothing Then Set xhr = CreateObject("Microsoft.XMLHTTP")
xhr.open "POST", "http://poster.example.com", False

xhr.setRequestHeader "User-Agent", "Alalala"
xhr.setRequestHeader "Content-Type", "multipart/form-data; boundary=" & MULTIPART_BOUNDARY
xhr.setRequestHeader "Content-Length", Len(sEntityBody)
xhr.send "" + sEntityBody 'postBody 'URLEncode(sEntityBody)

    If xhr.Status = 200 Then
        getBalance = xhr.responseText
    Else
        frmMain.addToChatbox "Failed at getting response from blah ErrCode:" & xhr.Status
    End If
End Function

Nun ist diese unterhalb Werken (obwohl es nur eine HTML-FORM).

<form 
 method="post" 
 action="http://poster.example.com/" 
 enctype="multipart/form-data">
 <input type="hidden" name="function" value="balance">
 <input type="text"   name="username" value="blah">
 <input type="text"   name="password" value="blah">
 <input type="submit" value="Send">
</form>

Hier ist ein Paket schnüffeln. (Altered den Host usw. Beispiel nach)

  

POST / HTTP / 1.1..User-Agent:   Alalala..Content-Type:   Multipart / Form-Daten;   boundary = speed..Content-Länge:   233..Accept: / .. Host: poster.example.com..Connection:   Keep-Alive ....-- speed..Content-dispos: form-data;   name = "Funktion" .... Balance ..-- speed..Content-dispos:   Formulardaten;   name = "username" .... blah ..-- speed..Content-dispos:   Formulardaten;   name = "Passwort" .... blah ..-- Geschwindigkeit - ..

Antwort ist leer

  

HTTP / 1.1 200 OK..Date: Do 7. Oktober   2010 20.31.20 GMT..Server:   Apache..Content-Länge: 0..Connection:   close..Content-Type: text / html;   charset = UTF-8 ....

P. S.> Die Submit-Button mit dem Wert Senden nicht so thats gesendet werden muss es nicht, wenn jemand fragt. Was könnte es sein, und ich habe von Sniffing aufgefallen ist, dass es die Header + post-Daten (Upload-Daten) als ein Paket und Firefox sendet / chrom sendet sie als zwei separate Pakete.

Danke

War es hilfreich?

Lösung

falsch geschrieben Content-Disposition muß Content-Disposition yup dank, dass ich Leid für 6 waren? vielleicht 7 Stunden.

gelöst schließlich

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top