会员
周边
众包
新闻
博问
闪存
所有博客
当前博客
我的博客
我的园子
账号设置
简洁模式
...
退出登录
注册
登录
栀子花开
追求完美
博客园
::
首页
::
博问
::
闪存
::
新随笔
::
联系
::
订阅
::
管理
::
公告
HttpWebRequest post数据[xgluxv]
private
static
string
HttpPost()
{
string
postData
=
"
username=中文&userid=838 jdkkd
"
;
//
在发送的内容里包括中文和空格
string
Web
=
@"
http://www.myweb.com/myresponse.asp
"
;
//
地址
postData=postData.Replace(" ","%20");//替换空格
try
{
//
获取URL并进行发送字串
HttpWebRequest myHttpWebRequest
=
(HttpWebRequest)WebRequest.Create(Web);
Stream myStream
=
new
MemoryStream ();
//
定义这个Stream是只是为了得到发送字串 经过编码之后得到的
byte的长度。
StreamWriter myStreamWriter
=
new
StreamWriter(myStream,Encoding.Default);
//
用默认编码 得到
Stream
myStreamWriter.Write(postData);
myStreamWriter.Flush();
long
len
=
myStream.Length;
//
目的完成
myStreamWriter.Close();
myHttpWebRequest.ContentType
=
"
application/x-www-form-urlencoded
"
;
myHttpWebRequest.ContentLength
=
len;
//
如果字符串中存在中文 使用postData.Length得到长度和编码之
//
后的长度是不一样的:(
myHttpWebRequest.Method
=
"
POST
"
;
Stream newStream
=
myHttpWebRequest.GetRequestStream();
myStreamWriter
=
new
StreamWriter(newStream,Encoding.Default);
//
编码使用Encoding.Default 换来换
去编码方法 还是用它得到的中文不会出现乱码,特别是把request(
""
)得到的值写入sql数据库的时候 真是奇怪
^
O
^
myStreamWriter.Write(postData);
myStreamWriter.Close();
//
获取本次的回馈,先创建接收回馈的类HTTPWEBRESPONSE
HttpWebResponse myHttpWebResponse
=
(HttpWebResponse)myHttpWebRequest.GetResponse();
//
创建接收回馈的字节流类
Stream receiveStream
=
myHttpWebResponse.GetResponseStream();
//
得到回写的字节流 做爬虫的基础
???
Encoding encode
=
System.Text.Encoding.Default;
StreamReader readStream
=
new
StreamReader( receiveStream, encode );
readStream.Close();
return
""
;
}
catch
(Exception e)
{
return
""
;
}
posted on
2007-06-27 15:38
杨林
阅读(
1114
) 评论(
1
)
编辑
收藏
举报
会员力量,点亮园子希望
刷新页面
返回顶部