private void bt_Begin_Click(object sender, EventArgs e)
{
string data=OpenReadWithHttps("http://www.baidu.com/", "123");
}
public string OpenReadWithHttps(string URL, string strPostdata)
{
//ServicePointManager.CertificatePolicy = new CertPolicy();
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(URL);
// request.CookieContainer = new CookieContainer();
request.Proxy = new WebProxy("10.3.18.90", 9000);
request.Timeout = 20000;
request.Method = "POST";
request.Accept = "*/*";
request.ContentType = "application/x-www-form-urlencoded";
byte[] buffer = this.encoding.GetBytes(strPostdata);
request.ContentLength = buffer.Length;
request.GetRequestStream().Write(buffer, 0, buffer.Length);
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
StreamReader reader = new StreamReader(response.GetResponseStream(), encoding);
this.respHtml = reader.ReadToEnd();
//foreach (System.Net.Cookie ck in response.Cookies)
//{
// this.cookie += ck.Name + "=" + ck.Value + ";";
//}
reader.Close();
return respHtml;
}
其中的request.GetRequestStream().Write(buffer, 0, buffer.Length);这里出错了,提示无法连接远程服务器,怎样解决啊?
{
string data=OpenReadWithHttps("http://www.baidu.com/", "123");
}
public string OpenReadWithHttps(string URL, string strPostdata)
{
//ServicePointManager.CertificatePolicy = new CertPolicy();
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(URL);
// request.CookieContainer = new CookieContainer();
request.Proxy = new WebProxy("10.3.18.90", 9000);
request.Timeout = 20000;
request.Method = "POST";
request.Accept = "*/*";
request.ContentType = "application/x-www-form-urlencoded";
byte[] buffer = this.encoding.GetBytes(strPostdata);
request.ContentLength = buffer.Length;
request.GetRequestStream().Write(buffer, 0, buffer.Length);
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
StreamReader reader = new StreamReader(response.GetResponseStream(), encoding);
this.respHtml = reader.ReadToEnd();
//foreach (System.Net.Cookie ck in response.Cookies)
//{
// this.cookie += ck.Name + "=" + ck.Value + ";";
//}
reader.Close();
return respHtml;
}
其中的request.GetRequestStream().Write(buffer, 0, buffer.Length);这里出错了,提示无法连接远程服务器,怎样解决啊?
根据你现在的看是http方式
{
_Request1 = HttpWebRequest.Create("http://www.baidu.com") as HttpWebRequest;
_Request1.Proxy = new WebProxy("10.3.18.90", 8013);
_Request1.KeepAlive = true;
_Request1.Method = "POST";
_Request1.Timeout = 200000;
//_Request1.SendChunked = true;
_Request1.ContentType = "application/x-www-form-urlencoded";
var buffer = UTF8Encoding.UTF8.GetBytes(value);
byte[] data = encoding.GetBytes(value);
_Request.ContentLength = data.Length;
var stream = _Request1.GetRequestStream();
stream.Write(buffer, 0, buffer.Length);
var response = _Request1.GetResponse();
var responseStream = response.GetResponseStream();
var reader = new StreamReader(responseStream);
stream.Close();
reader.Close();
return reader.ReadToEnd();
}
用这个方法也是报错
dataStream.Flush();//wince下面必须加上这两句 否则:在写入请求数据前,不能检索此请求的响应。/*The response for this request cannot be retrieved until request data has been written*/
dataStream.Close();
response = (HttpWebResponse)request.GetResponse();