2009-06-16 7 views
0

Ich habe den Code geschrieben, um die Informationen auf eine Seite zu posten, aber ich weiß nicht, wie ich den Beitrag zum iframe machen soll, den ich auf der Seite platziert habe. (Ich habe diesen Code nicht getestet, damit ich nicht sicher bin, ob die Post funktioniert auch)Wie kann ich einen Beitrag von VB-Code zu einem iframe auf einer Seite aufrufen?

Dim param1, param2, result, url As String 
    Dim request As HttpWebRequest 
    Dim paramStream() As Byte 
    Dim requestResponse As WebResponse 

    param1= "name=" + Server.UrlEncode("My Name") 
    param2= "email=" + Server.UrlEncode("[email protected]") 
    paramStream = Encoding.ASCII.GetBytes(param1+ "&" + param2) 
    url = "https://www.mysite.com/dosomething.php" 

    request = WebRequest.Create(url) 
    request.Method = "POST" 
    request.ContentType = "application/x-www-form-urlencoded" 
    request.UserAgent = "Mozilla/5.0 (Windows; U; Windows NT 6.0; sv-SE; rv:1.9.1b2) Gecko/20081201 Firefox/3.1b2" 
    request.ContentLength = paramStream.Length 

    Using stream = request.GetRequestStream() 
     stream.Write(paramStream, 0, paramStream.Length) 
    End Using 

    requestResponse = request.GetResponse() 

    Using sr = New StreamReader(requestResponse.GetResponseStream()) 
     result = sr.ReadToEnd() 
    End Using 

Das ist, was ich geschrieben habe, auf der Website zu veröffentlichen, aber ich würde den Posten gerne einen Iframe beeinflussen die Ich habe auf der Seite platziert. Ich weiß, wenn Sie html gerade schreiben Sie ein Ziel in Form Tag angegeben haben

<form target="my_iframe" method="post" action="dosomething.php" /> 

Aber ich war nicht sicher, ob es ein ähnlich ist Ziel, dass ich von VB-Code angeben.

Nur eine Anmerkung: Ich versuche, einen Beitrag von einer ASP.NET-Seite zu einer PHP-Seite, die in einem Iframe enthalten ist, zu tun.

Ich habe noch nicht getestet, dass dies auch funktioniert, wenn Sie irgendetwas in meinem Code sehen, das repariert werden muss oder irgendwelche Vorschläge haben, wie man das anders macht, lassen Sie es mich bitte wissen.

+0

Das klingt nach einem perfekten Szenario für ein wenig AJAX. –

Antwort

0

Wenn Sie screen-scraping mit HttpWebRequest verwenden, arbeiten Sie auf der HTTP-Ebene unterhalb der HTML-Ebene, die für Browser relevant ist. HTTP kennt oder interessiert sich nicht für Frames oder andere HTML-Elemente, die auf dem Layer liegen. HTTP sendet einfach Anfragen an URLs und erhält Antworten zurück. Sie müssen also einfach die POST-Anfrage an die URL des IFRAME senden. Die Tatsache, dass normalerweise diese URL in einem IFrame lebt, sollte für Ihren VB-Code keine Rolle spielen.

Verwandte Themen