我已经编写了将信息发布到页面的代码,但是我不知道如何使帖子定位到我放在页面上的iframe。 (我没有测试过这段代码所以我不确定这篇文章是否有效)
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@mail.com")
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
这就是我写给网站的帖子,但我希望帖子能影响我放在网页上的iframe。我知道当您编写html时,您可以在表单标记中指定目标
<form target="my_iframe" method="post" action="dosomething.php" />
但我不确定是否有一个类似于我可以从VB代码中指定的目标。
只是一个注释:我正在尝试从ASP.NET页面发布到iframe中包含的PHP页面。
我还没有测试过这个甚至可以发布,如果您在我的代码中看到任何需要修复的内容或者有任何关于如何以不同方式执行此操作的建议,请告诉我。
答案 0 :(得分:0)
当你使用HttpWebRequest进行屏幕抓取时,你正在浏览器关注的HTML层下面的HTTP层工作。 HTTP不知道或不关心框架或顶部分层的任何其他HTML元素。 HTTP只是向URL发送请求并获得响应。所以你只需要将POST请求发送到IFRAME的URL。通常该URL存在于IFrame中这一事实对您的VB代码无关紧要。