post的步骤比get要复杂,
1、将要发送的变量和值按照“变量1=值1&变量2=值2……”这样的方式写入文本
2、将文本按照网页编码转为字节数组
3、定义webrequest对象
4、设置webrequest对象的ContentLength属性为字节数组大小
5、指定webrequest对象发送数据流的类型,这里是"application/x-www-form-urlencoded",以后发送文件的时候会用到别的类型
6、指定webrequest对象方法为"POST"
7、获得请求的流(getrequeststream)
8、将字节数组写入流中,如果比较大的话,需要将字节数组分段写入
9、剩余的操作同前几节。。。
具体操作代码如下:

    Private Sub Button10_Click(sender As Object, e As EventArgs) Handles Button10.ClickDim poststring As String = "txtname1=测试1&txtname2=测试2"Dim addr As String = txtform.TextTryDim buffer() As Byte = Encoding.GetEncoding("gb2312").GetBytes(poststring)Dim myWebRequest As WebRequest = WebRequest.Create(addr)myWebRequest.ContentLength = buffer.LengthmyWebRequest.ContentType = "application/x-www-form-urlencoded"myWebRequest.Method = "POST"Dim mysendstream As Stream = myWebRequest.GetRequestStreammysendstream.Write(buffer, 0, buffer.Length)Dim myWebresponse As WebResponse = myWebRequest.GetResponseDim myrecvstream As Stream = myWebresponse.GetResponseStreamDim singleReadCount As Integer = 10240Dim mybyte(singleReadCount - 1) As ByteDim strpagecontent As String = ""Dim intreadl As Integer = 0Dointreadl = myrecvstream.Read(mybyte, 0, singleReadCount)strpagecontent &= Encoding.GetEncoding("gb2312").GetString(mybyte, 0, intreadl)Loop While intreadl > 0Console.WriteLine(strpagecontent)mysendstream.Close()myrecvstream.Close()myWebresponse.Close()Catch ex As ExceptionMessageBox.Show(ex.Message)End TryEnd Sub

执行结果如下:

你会很吃惊地发现,不是我们需要的结果。
ok,把文本框中的showform1.asp更换为showform2.asp。这次看看:


这次成功了。
看来和asp代码中获得值的方法有关系。
在showform1中使用的是 request.querystring()方式
在showform2中使用的是 request.form()的方式
用哪一种,大家根据网页具体代码来吧。

由于.net平台下C#和vb.NET很相似,本文也可以为C#爱好者提供参考。

学习更多vb.net知识,请参看vb.net 教程 目录

vb.net 教程 12-8 WebRequest 和 Webresponse 4-2 POST方式向网页发送数据相关推荐

  1. vb.net 教程 20-4 库存管理系统3.12 出库管理(FormStorageOut)

    版权声明:本文为博主原创文章,转载请在显著位置标明本文出处以及作者网名,未经作者允许不得用于商业目的. 关于<Visual Basic.Net 循序渐进>请到百度网盘下载,具体下载地址: ...

  2. VB API教程 王国荣

    VB API教程 王国荣 http://hi.baidu.com/qidick/blog/item/1f76110966291286d0581b4f.html 转载于:https://www.cnbl ...

  3. vb.net 教程 3-4 窗体编程 公共控件6 PictureBox ProgressBar

    版权声明:本文为博主原创文章,转载请在显著位置标明本文出处以及作者网名,未经作者允许不得用于商业目的. 11.PictureBox 重要属性: SizeMode :设置图片在图片框中显示方式:  Au ...

  4. vb程序设计教程第4版龚沛曾 实验答案解析

    这里只是个人对书中题目的解答,并不代表最优代码.仅供参考.有哪里错误或者不足的地方还望指出,Thanks♪(・ω・)ノ 以及 不要脸地 求探讨求点赞.嘿嘿 这里使用的是<vb程序设计教程(第四版 ...

  5. vb.net 教程 8-3 数据库操作3

    订阅专栏 版权声明:本文为博主原创文章,转载请在显著位置标明本文出处以及作者网名,未经作者允许不得用于商业目的. 本节在上一节的基础上学习在Command中设置sql语句参数: 还是以一个实例说明: ...

  6. vb.net 教程 2-3 流程控制:循环语句 For...Next

    版权声明:本文为博主原创文章,转载请在显著位置标明本文出处以及作者网名,未经作者允许不得用于商业目的. For...Next 语句用于执行重复操作 最简单的结构: For 初始值 To 结束值   执 ...

  7. vb.net 教程 1-8 日期时间类型1

    版权声明:本文为博主原创文章,转载请在显著位置标明本文出处以及作者网名,未经作者允许不得用于商业目的. vb.net中日期时间函数使用DateTime,vb6中用的是Date,vb.net中也可以将日 ...

  8. vb.net 教程 5-12 绘图实例之统计图 3 饼图

    版权声明:本文为博主原创文章,转载请在显著位置标明本文出处以及作者网名,未经作者允许不得用于商业目的. 继续上一期<绘图实例之统计图2>,继续讲解如何绘制饼图: 当按下"饼图&q ...

  9. vb.net 教程 4-9 二进制文件读写 游戏存档修改器

    版权声明:本文为博主原创文章,转载请在显著位置标明本文出处以及作者网名,未经作者允许不得用于商业目的. 前几节学习了读取二进制文件,实际写入二进制文件操作差不多,本节制作一个简单的游戏存档修改器,来说 ...

最新文章

  1. 「倚天」一出,谁与争锋!全球首款5nm服务器芯片,业界最强
  2. 网易云 IM SDK 4.2.0版本逆袭升级!
  3. 央视新闻联合百度智能云打造的首个“冬奥AI手语主播”来了
  4. 抓取各个浏览器引擎关键字,,百度学术关键字
  5. 浅析“高斯白噪声”,“泊松噪声”,“椒盐噪声”的区别
  6. CompletableFuture详解~异常处理
  7. opencv在android,OpenCV 在 Android 中的应用
  8. IOS开发之MVC模式的介绍
  9. arcgis拓扑检查和修改
  10. 智能决策支持系统(IDSS)
  11. DNS协议解析与DNS模拟服务器-基于golang实现
  12. oracle认证考试试题及答案,Oracle DBA认证考试存储管理试题及答案
  13. Android 扫码盒子全局接收付款码
  14. windows10 下 Haskell 环境搭建2020
  15. html标签 ppt,HTML框架标签、超链接标签、控件标签.ppt
  16. PS如何使用制作图片投影效果
  17. ABB ACS510变频器恒压供水昆仑通态直接通讯一拖二
  18. 微信小程序长按与单击事件触发
  19. 编写程序,输入一个较小的实数deta,利用e=1+1/1(嘿哈)+1/2(嘿哈)+1/3(嘿哈)+⋯+1/n(嘿哈)计算e的近似值,直到最后一项的绝对值小于deta时为止,输出此时e的近似值。
  20. spring开发_Annotation_AOP_Before增强处理

热门文章

  1. SDRAM中自刷新操作与PHY中Retention功能的关系
  2. 大连话翻译成普通话(看谁翻译的准确)
  3. 桌面云数据备份解决方案
  4. 威胁人员Hackers
  5. 数字经济时代审计工作的数智化转型
  6. xCrash 捕获ANR异常
  7. GD32 ADC检测电压
  8. 初学者的Kubernetes圣经
  9. 回头再看C++【第一天】
  10. uniapp使用luch-request