HttpWebRequest的Post问题

问题描述

用HttpWebRequest向一个表单POST,POST是成功了,并且得到了网页,但是我想得到这张网页的下面几页或指定的某一页,可是找不到正确的POST信息,请帮忙看一下.网页:http://www1.customs.gov.cn/Default.aspx?tabid=5469&mid=17755&ctl=CscxSearchList&ContainerType=G&ContainerName=_default&ContainerSrc=notitle.ascx&NAME=%e7%ba%b8&ID=%e7%ba%b8该网页记录有858条,共有43页,我想得到指定的某一页.

解决方案

解决方案二:
对方也是.net程序,所以,你在POST时要把__viewstate以及cookie等内容也POST。建议你下一个Httpwatch装一下
解决方案三:
我下了一个Httpwatch,装了后IE里没有这一项.我的电脑:WIN2003,IE7.0怎么会这样?
解决方案四:
那你通过正常访问换页以后,post的是什么内容呢?换两次看看有什么不同
解决方案五:
IEwatch好像也可以吧。
解决方案六:
个人觉得如果知道__viewstate是怎么什么数据来的,那就好办了。可以先把Viewstate翻译回去,然后再加密post
解决方案七:
有个_eventTarget的hidden域具体名字我忘了把这值post的时候改为那个页数button的ID就好了
解决方案八:
楼上理解错我的意思了,我下了Httpwatch,安装了,但在IE7里面找不到Httpwatch这一项.
解决方案九:
这里不建议改viewstateviewstate主要是用来还原控件的状态值的对控制页数没有影响的
解决方案十:
这种分页控件分页调用时会调用这样一脚本方法再回传__doPostBack(eventTarget,eventArguments)第一个参数是标明引发该事件的控件第二个参数如果实现了IPostBackEvent还是什么的就能使用那个参数了,一般是传空所以这里只要改evnetTarget
解决方案十一:
<inputtype="hidden"name="__EVENTTARGET"id="__EVENTTARGET"value=""/><inputtype="hidden"name="__EVENTARGUMENT"id="__EVENTARGUMENT"value=""/>然后把那个页码输入框的Name找到,页码输入框的name对应你请求页数把那个转到按钮的Name找到__EVENTTARGET填转到按钮的Name就差不多了
解决方案十二:
神啊!救救我吧.我到现在Httpwatch还没在IE里显示.
解决方案十三:
终于装好了Httpwatch,可以用了.关于这张网页,我得到的POST数据还是不对,哪位指点一下.
解决方案十四:
我用Httpwatch得到的POST数据如下:_ctl0__ctl0__ctl0_DataGrid_PageNumberHidden2__EVENTTARGET__EVENTARGUMENT_ctl0:_ctl0:_ctl0:hiddenTableID_ctl0__ctl0__ctl0_DataGrid_HBGridPageNumber2_ctl0:_ctl0:_ctl0:DataGrid:_ctl24:hiddenGotoScrollTop__VIEWSTATE...我想问一下,具体post到服务器的参数是什么?
解决方案十五:
关注
解决方案:
呃,对牛弹琴.
解决方案:
不要紧,只要能学会,就当我是头苯牛吧.
解决方案:
我的POST字符串:postString="tabid=5469&mid=17755&ctl=CscxSearchList&ContainerType=G&ContainerName=_default&ContainerSrc=notitle.ascx&NAME="&HSFind&"&ID="&HSFind&_"&_ctl0__ctl0__ctl0_DataGrid_HBGridPageNumber=2&_ctl0__ctl0__ctl0_DataGrid_PageNumberHidden=2"得不到正确的页.帮我看看错在哪了
解决方案:
建议楼主用Fiddle去分析网页。比什么IEwatch之类的好用多了。
解决方案:
指定转到哪一页时,构造poststring用以下参数,其中3即想转到哪一页了。ParameterNameValue_ctl0__ctl0__ctl0_DataGrid_PageNumberHidden3__EVENTTARGET__EVENTARGUMENT_ctl0:_ctl0:_ctl0:hiddenTableID_ctl0__ctl0__ctl0_DataGrid_HBGridPageNumber3_ctl0:_ctl0:_ctl0:DataGrid:_ctl24:hiddenGotoScrollTop__VIEWSTATE省略
解决方案:
_ctl0__ctl0__ctl0_DataGrid_PageNumberHidden=3&__EVENTTARGET=&__EVENTARGUMENT=&_ctl0:_ctl0:_ctl0:hiddenTableID=&_ctl0__ctl0__ctl0_DataGrid_HBGridPageNumber=3&_ctl0:_ctl0:_ctl0:DataGrid:_ctl24:hiddenGoto=&ScrollTop=&__VIEWSTATE=省略如上应该可以的吧
解决方案:
得不出正确结果.

时间: 2024-07-29 19:39:03

HttpWebRequest的Post问题的相关文章

新浪Flash下载器 [HttpWebRequest | 新浪视频]

前言      哈哈,好久不写小工具了,去年写的笨笨图片批量下载器 V0.3 beta平时还是帮了一些忙的,今天的小工具是 新浪Flash下载器 .可以直接下载swf结尾的文件,如果下载新浪视频文件,你需要右键源代码找到这个flash的伪链接,如http://music.sina.com.cn/yueku/flashPlayer.swf?vid=6851105,然后把这里连接复制到软件输入框点下载就可以了.   运行环境      1.     Microsoft .NET Framework

[C#]用HttpWebRequest加载证书建立SSL通道时发生异常的解决办法

编写者:郑昀@UltraPower 关键字:HttpWebRequest, SSL,X509Certificate dotNet  Framwork 1.1 编写时间:2005-3-29 WSE 2.0 SP3   目的: 对于用HttpWebRequest加载证书请求远端https服务器时,发生的 "基础连接已经关闭: 无法与远程服务器建立信任关系."/ "The underlying connection was closed. Could not establish a

笨笨图片批量下载器 V0.3 beta[C# | WinForm | 正则表达式 | HttpWebRequest | Async异步编程] new

前言      从[笨笨图片批量抓取下载 V0.2 beta]到[笨笨图片批量下载器 V0.3 beta]时间将近2个月,不是说这个升级版本开发了这么久,实在是懒,呵呵: )再加有时候工作忙.学习,多的时间就不愿意动了,现在都感觉辜负了上一版N多朋友的支持了,不过这将近一个星期时间我按计划完成了这个小软件版的升级开发,并且依然和上两个版本一样保持源代码开源,文章最后有下载地址,以下是这个版本相比上个版本的特点:      1.     加入图片是否重命名.      2.     加入异步线程池

使用HttpWebRequest向网站模拟上传数据

request|web|上传|数据 最近有个朋友离开IT行业二年的朋友说要实现用程序向某个网站的页面上传数据,他是意思是每天有几十条数据要在网站页面上填写,很烦,最好用程序来写.网站页面是用POST传递的,同时没有验证码之类的东东,只有一点限制就是5分种内不能填写二次记录.这一切都好办. using System.Web;using System.Net;using System.Text;using System.IO; //创建对某个网站页面的请求 HttpWebRequest  myReq

HttpWebRequest的GetRespons偶尔超时和死掉的原因及解决办法

在做一个接口的时候,部分需求时根据用户指定的Url,通过Post方式来发送数据,之前的多次调试,一直都是可以正常发送数据获取返回值,但是后来几次的调试,在没有改变代码的前提下,结果GetResponse却始终会超时死掉. 经过上网百度一共找出了下面几种原因与对应的解决办法: 1.修改DefaultConnectionLimit 为更大的值(系统默认为2) System.Net.ServicePointManager.DefaultConnectionLimit = 50; 2.在HttpWebR

Windows Phone网络HttpWebRequest的用法简介

在Windows Phone系统中,通过HttpWebRequest类可以很容易的发送网络请求,获取网络数据.HttpWebRequest是异步操作,不会堵塞主线程. 1.通过HttpWebRequest.CreateHttp()方法可以创建一个HttpWebRequest,下面代码简单实现发送一个GET请求. httpGet public void httpGet() { try { //请求地址 String url = "http://www.cnblogs.com/huizhang212

c#使用HttpWebRequest,HttpWebResponse快速验证代理IP是否有用

大家好,相信大家都使用过代理IP上过网,但是有的IP一两天就失效了.要一个一个的手工去试打开IE,关闭IE,多烦啊. 有了这篇文章就好了.我们可以使用HttpWebRequest,HttpWebResponse 来代理验证,谢谢大家评论指导! 呵呵,是不是很简单啊,其实这段代码改一下还可以做采集器,小偷等程序!我不说了大家自己看 public void yanzhen(string str, int port) { WebProxy proxyObject = new WebProxy(str,

C#中使用HttpWebRequest类调用WEB服务的示例

上一篇文章是关于 CMPP3.0 的 C# 实现,我为了测试其中的 PROVISION 接口,利用了 System.Net.HttpWebRequest 类将<MISC系统短信SP接入指南-接口改造分册>文档中的示例 xml 发送到了 WEB 服务,并从 WEB 服务返回了对应的 Resp 包(也是一段 xml),下面就将代码贴出来: 1.SyncOrderRelationReq 包的 xml 内容: <SOAP-ENV:Envelope xmlns:xsi="http://w

.NET Compact Framework下HttpWebRequest开发

当Windows Mobile程序需要使用Web Server的信息,一开始自然会想到使用WebService.可是有些Web Server不提供WebService,只是提供Http浏览功能,如果需要从Http网页中得到信息,可以使用HttpWebRequest和HttpWebResponse来完成,下面通过一个例子来讲述. 例如有一个使用ASP.net开发的燃料价格查询网站. 图1 输入燃料类型(Fuel Type)和邮政编码(Postcode)后可以查询出燃料价格,如下图. 图2 在Win

使用MemberShip时 用HttpWebRequest抓数据

最近在做一个项目,因为是分层设计,为了各层之间解耦,我们采用了HttpWebRequest来抓取同域下 的文件数据(动态生成的)来生成新的对象.我们生成数据页的handler都是以.do结尾的,以示区分.但是 这也带来了问题,在使用HttpWebRequest抓数据时,通不过验证.但是我们使用AJAX同样也是.do结尾的啊, 却可以使用,奇怪!网上找Membership的验证原理,资料及其缺乏.多是设置cookie之类的,也试了好多次,均 不奏效!事实也证明,当我们禁用cookie时,membe