WebRequest 发送请求的参数设置问题

问题描述

WebRequestrequest=WebRequest.Create("http://www.travelsky.com/tsky/validate");//Post请求方式request.Method="POST";//设置请求参数stringpostData="pName=小明&eticketNoORIn=880-2178876342&randCode="+textBox1.Text.Trim()+"";//将URL编码后的字符串转化为字节byte[]byteArray=Encoding.UTF8.GetBytes(postData);request.ContentType="application/x-www-form-urlencoded";//设置请求的ContentLengthrequest.ContentLength=byteArray.Length;//获得请求流StreamdataStream=request.GetRequestStream();//将请求参数写入流dataStream.Write(byteArray,0,byteArray.Length);//关闭请求流dataStream.Close();//获得响应流WebResponseresponse=request.GetResponse();dataStream=response.GetResponseStream();StreamReaderreader=newStreamReader(dataStream);stringresponseFromServer=reader.ReadToEnd();reader.Close();dataStream.Close();response.Close();以上是源码,服务器返回的数据是不带参数的XML,我设置的参数没起到作用,求大神指点!

解决方案

解决方案二:
来个大神啊!
解决方案三:
你在浏览器里按F12打开开发者模式,在网络选项卡里面可以看到提交的内容类似下面的validateFlag=0&eticketNo=8802178876342&invoiceNo=&imgSrc=%2Ftsky%2Fimages%2Floading.gif&eticketNoORIn=880-2178876342&passengerName_src=%E5%B0%8F%E6%98%8E&passengerName=%25E5%25B0%258F%25E6%2598%258E&randCode=BUS6&rcvFlag=

包括validateFlageticketNoinvoiceNoimgSrceticketNoORInpassengerName_srcpassengerNamerandCodercvFlag,而你的只有pNameeticketNoORInrandCode并且参数是要encode的,其中passengerName是把passengerName_src参数encode之后在encode。
解决方案四:
按照你说的,改过之后还是不行呢,参数都没问题,我仔细对照过了!出来的结果少了一部分数据!

时间: 2025-01-03 19:29:44

WebRequest 发送请求的参数设置问题的相关文章

Ajax基础教程(3)- 3.2 发送请求参数

到此为止,你已经了解了如何使用Ajax技术向服务器发送请求,也知道了客户可以采用多种方法解析服务器的响应.前面的例子中只缺少一个内容,就是你尚未将任何数据作为请求的一部分发送给服务器.在大多数情况下,向服务器发送一个请求而没有任何请求参数是没有什么意义的.如果没有请求参数,服务器就得不到上下文数据,也无法根据上下文数据为客户创建"个性化"的响应,实际上,服务器会向每一个客户发送同样的响应. 要想充分发挥Ajax技术的强大功能,这要求你向服务器发送一些上下文数据.假设有一个输入表单,其中

VB.net 通过WebRequest 发送post请求 如何获取http响应

问题描述 VB.net 通过WebRequest 发送post请求 如何获取http响应 VB.net 通过WebRequest 发送post请求 如何获取http响应 解决方案 http://blog.csdn.net/skylen/article/details/7594868https://msdn.microsoft.com/zh-cn/library/system.net.webrequest.getresponse(VS.80).aspx ' Create a new WebRequ

struts2 0-struts2 当同时向多个action发送请求,请求参数相同时报错

问题描述 struts2 当同时向多个action发送请求,请求参数相同时报错 前端请求代码 $(function(){ $.post("test1",{"id":1},function(){},"json"); $.post("test2",{"id":2},function(){},"json"); $.post("test3",{"id":3

ajax发送请求到后台,后台更具请求参数重新绑定repeater数据源__[无效]

问题描述 第一次进入页面的时候,默认绑定了所有的数据,点击页面分类时,ajax发送请求到后台,后台更具请求参数重新绑定repeater数据源,但是页面显示内容仍然不变.页面:$.ajax({url:"<%=Request.FilePath%>?do=getPsByPTName&studentName="+studentName,cache:false,async:false,success:function(msg){}});后台stringdoss=Request

Ajax实战:向服务器发送请求

通过XMLHttpRequest对象向服务器发送请求是一件相当直接的事情.我们需 要做的所有事情就是给它传递一个服务器页面的URL,这个页面将生成数据.就 像下面这样: XMLHttpRequest支持大量的HTTP调用语义,包括用来动态生成页面的可选查 询字符串参数(你可能已经知道这些CGI参数.Form参数或者ServletRequest参数 ,取决于服务器端开发背景).在考察请求对象如何支持这些功能之前,我们先 来快速回顾一下HTTP的基础知识. HTTP快速入门 HTTP对于因特网而言可

android 请求服务器-android发送请求到服务器,每次sessionid不同,怎么让它相同

问题描述 android发送请求到服务器,每次sessionid不同,怎么让它相同 我做了一个测试,如下图,在网上看到的帖子是设置cookie,在cookie中携带sessionid,但是还是不行呀,哪位大神帮忙看看? 解决方案 sessionid除了可以放在cookie之中,还可以放在URL参数中呀.如果Android端没保存cookie,或每次发送请求没带上cookie,服务器端都只好重新给它一个啦. 解决方案二: sessionid除了可以放在cookie之中,还可以放在URL参数中呀.如

Direcshow中视频捕捉和参数设置报告

Direcshow中视频捕捉和参数设置报告 1.      关于视频捕捉(About Video Capture in Dshow) 1视频捕捉Graph的构建 一个能够捕捉音频或者视频的graph图都称之为捕捉graph图.捕捉graph图比一般的文件回放graph图要复杂许多,dshow提供了一个Capture Graph Builder COM组件使得捕捉graph图的生成更加简单.Capture Graph Builder提供了一个ICaptureGraphBuilder2接口,这个接口

http请求-iOS POST请求体参数两个节点怎么写

问题描述 iOS POST请求体参数两个节点怎么写 请求体参数就是这样,我用AFN试了很多次都没成功,请求参数怎么写啊 解决方案 AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager]; //申明返回的结果是json类型 manager.responseSerializer = [AFJSONResponseSerializer serializer]; //申明请求的数据是json类型 m

java-我想使用&amp;amp;lt;iframe&amp;amp;gt;划分网页,如何向后台发送多组参数呢?

问题描述 我想使用<iframe>划分网页,如何向后台发送多组参数呢? 上网上找的一些例子都是直接在iframe.src='这里写请求路径?这里写参数' 如果我的参数是多个数组怎么办? 当时自己想的是把数组拼接成字符串,通过GET方式发送到后台,但是数据量大点,这招就行不通了 解决方案 通过表单post提交,设置表单的target="iframe的name值"提交到iframe去,src是get提交,有大小限制 <iframe name="ifrname&q