HttpWebRequest.GetResponse,代码一样,在winform中相应很快,webservice中需要10秒,同电脑?(用C#代码 get请求获
- 用C#代码 get请求获取网页响应代码,通过HttpWebRequest的GetResponse()方法报异常,我想获取这相应代码
- httpWebRequest.GetResponse() 基础连接已关闭 发送时发生错误
- 用c#编写webservice时,如何获取调用它的httpwebrequest中?后面的参数 非常感谢。
- HttpWebRequest.GetResponse是自动在响应完成后调用吗
用C#代码 get请求获取网页响应代码,通过HttpWebRequest的GetResponse()方法报异常,我想获取这相应代码
我不知道你的代码是什么样的出了异常,给你一段代码供参考:
string sRet = "";
try
{
//目标网址事先存在字符串 sPage 中
HttpWebRequest Myrq = (HttpWebRequest)HttpWebRequest.Create(sPage );
Myrq.UserAgent = "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; Trident/4.0; EmbeddedWB 14.52 from: http://www.bsalsa/ EmbeddedWB 14.52; .NET CLR 2.0.50727; .NET CLR 3.0.04506.30; .NET CLR 3.0.04506.648; .NET CLR 3.5.21022)";
Myrq.Accept = "*/*";
Myrq.Method = "GET";
Myrq.Headers.Add(HttpRequestHeader.AcceptLanguage, "zh-cn");
Myrq.Headers.Add(HttpRequestHeader.AcceptEncoding, "gzip,deflate");
Myrq.KeepAlive = true;
//Myrq.Referer = xmlurlrefer;//有些网址要求指定referer
//有些网页需要cookie的
//Myrq.Headers.Add(HttpRequestHeader.Cookie, sCookie);
HttpWebResponse myrp = (HttpWebResponse)Myrq.GetResponse();
long totalBytes = myrp.ContentLength;
Encoding ec;
if (!string.IsNullOrEmpty(myrp.CharacterSet))
{
ec = Encoding.GetEncoding(myrp.CharacterSet);//如果响应的网页头有指定编码就用指定编码,否则采用默认的GB2312编码
}
else
{
ec = Encoding.GetEncoding("GB2312");
}
Stream st = myrp.GetResponseStream();
using (StreamReader sr = new StreamReader(st,ec ))
{
sRet = sr.ReadToEnd();
}
st.Close();
//Console.WriteLine(sRet);
return sRet;
}
catch (WebException ex)
{
Console.WriteLine(ex.ToString());
return sRet;
}
httpWebRequest.GetResponse() 基础连接已关闭 发送时发生错误
这个不是超时问题,在XP下只要超过125M以上一提交接就报错,WIN7下只要服务器支持超时时间范围内,就算1G的文件传一天也不会超时,因为.NET框架底层的WebRequest是用IE的wininet.dll来进行网络请求的,所以跟不同系统环境下的IE内核有关,要解决此问题只有一个办法,就是自己用SOCKET来进行HTTP请求
用c#编写webservice时,如何获取调用它的httpwebrequest中?后面的参数 非常感谢。
在webconfig里面把post打开
然后就行了
————
补充一下吧
在service里面写
[WebMethod]
public string aaa(string id)
{
return id;
}
然后打开浏览器http://localhost/WebService1.asmx/aaa?id=aaa
页面显示
HttpWebRequest.GetResponse是自动在响应完成后调用吗
HttpWebRequest 类对 WebRequest 中定义的属性和方法提供支持,也对使用户能够直接与使用 HTTP 的服务器交互的附加属性和方法提供支持。
不要使用构造函数创建HttpWebRequest实例,请使用System.Net.WebRequest.Create(URI uriString)来创建实例,如果URI是http://或https://,
返回的是HttpWebRequest对象。(建立请求特定URI的对象)
当向资源发送数据时,GetRequestStream方法返回用于发送数据的Stream对象。(获取请求数据的流对象)
GetResponse方法向RequestUri属性指定的资源发出同步请求并返回包含该响应的HttpWebResponse。(获取来自internet的响应)