using System;
using System.Collections.Generic;
using System.Text;
using System.IO;
using System.Net;
namespace alvvtest
{
class Program
{
static void Main(string[] args)
{
string postzf = "pageindex=1";
string url = "http://www.alivv.com/ajax/Alivv.AjaxRun.WebSiteAjax,Alivv.AjaxRun.ashx?_method=BuyerWebSiteList&_session=r";
HttpWebRequest newqq = null;
HttpWebResponse newfh = null;
System.Net.ServicePointManager.Expect100Continue = false;
Uri newurl = new Uri(url);
newqq = (HttpWebRequest)WebRequest.Create(newurl);
string data = postzf;
newqq.Host = "www.alivv.com";
newqq.UserAgent = "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; GTB6; .NET CLR 2.0.50727; CIBA)";
newqq.Accept = "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8";
newqq.Headers.Add("Accept-Language", "zh-cn,zh;q=0.8,en-us;q=0.5,en;q=0.3");
newqq.Headers.Add("Accept-Encoding", "gzip, deflate");
newqq.Headers.Add("DNT", "1");
newqq.ContentType = "text/plain; charset=UTF-8"; newqq.Referer = "http://www.alivv.com/links_gd.html"; newqq.CookieContainer = new CookieContainer() ;
newqq.Accept = "*/*";
newqq.Method = "POST";
newqq.Timeout = 60000;
//newqq.KeepAlive = true; //newqqt.AllowAutoRedirect = true;
byte[] byteArray = Encoding.UTF8.GetBytes(data);
Stream stream = newqq.GetRequestStream(); stream.Write(byteArray, 0, byteArray.Length);
stream.Close();
newfh = (HttpWebResponse)newqq.GetResponse();
StreamReader sr = new StreamReader(newfh.GetResponseStream(), Encoding.UTF8);
string fanhuizhi = sr.ReadToEnd();
}
}
}最后的fanhuizhi是乱码不管怎么修改encoding都不行目前我发现在头协议当中有一句: newqq.Headers.Add("Accept-Encoding", "gzip, deflate");难道说信息流通过压缩了?还有就是post部分的代码是否正确呢?希望老师们帮我看一下,被这个问题搞死了!附上正常返回的值:
using System.Collections.Generic;
using System.Text;
using System.IO;
using System.Net;
namespace alvvtest
{
class Program
{
static void Main(string[] args)
{
string postzf = "pageindex=1";
string url = "http://www.alivv.com/ajax/Alivv.AjaxRun.WebSiteAjax,Alivv.AjaxRun.ashx?_method=BuyerWebSiteList&_session=r";
HttpWebRequest newqq = null;
HttpWebResponse newfh = null;
System.Net.ServicePointManager.Expect100Continue = false;
Uri newurl = new Uri(url);
newqq = (HttpWebRequest)WebRequest.Create(newurl);
string data = postzf;
newqq.Host = "www.alivv.com";
newqq.UserAgent = "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; GTB6; .NET CLR 2.0.50727; CIBA)";
newqq.Accept = "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8";
newqq.Headers.Add("Accept-Language", "zh-cn,zh;q=0.8,en-us;q=0.5,en;q=0.3");
newqq.Headers.Add("Accept-Encoding", "gzip, deflate");
newqq.Headers.Add("DNT", "1");
newqq.ContentType = "text/plain; charset=UTF-8"; newqq.Referer = "http://www.alivv.com/links_gd.html"; newqq.CookieContainer = new CookieContainer() ;
newqq.Accept = "*/*";
newqq.Method = "POST";
newqq.Timeout = 60000;
//newqq.KeepAlive = true; //newqqt.AllowAutoRedirect = true;
byte[] byteArray = Encoding.UTF8.GetBytes(data);
Stream stream = newqq.GetRequestStream(); stream.Write(byteArray, 0, byteArray.Length);
stream.Close();
newfh = (HttpWebResponse)newqq.GetResponse();
StreamReader sr = new StreamReader(newfh.GetResponseStream(), Encoding.UTF8);
string fanhuizhi = sr.ReadToEnd();
}
}
}最后的fanhuizhi是乱码不管怎么修改encoding都不行目前我发现在头协议当中有一句: newqq.Headers.Add("Accept-Encoding", "gzip, deflate");难道说信息流通过压缩了?还有就是post部分的代码是否正确呢?希望老师们帮我看一下,被这个问题搞死了!附上正常返回的值:
解决方案 »
- 怎么用网站实现模拟ASP.NET编译功能,就是把一段代码提交,返回编译是否成功的信息。
- 文件创建时间有误
- 求高手帮忙想想办法!打印机空行问题!
- mysql中获得自增主键的最大序列号的SQL语句?
- 求能同时运行VS2003 2005 sql2000 sql2005的台式电脑配置和价格!
- System.Data.OleDb.OleDbConnection”的对象强制转换为类型“System.Data.SqlClient.SqlConnection
- 我发现一个可以读出相片光圈快门的网站后台,这个功能如何实现?
- 梅花雪现在在csdn工作吗?怪不得!!!!!!!
- windows消息常数
- Quartz.net动态修改任务执行周期
- 用jmail组件发送邮件 title显示不出来 为什么啊?急!!!!!!!!!!! 希望大家帮帮忙啊
- C# 怎么修改静态类中的 静态私有成员的值啊。急。。。
if (WebResponse.ContentEncoding.ToLower().Contains("gzip"))
responseStream = new GZipStream(responseStream, CompressionMode.Decompress);
else if (WebResponse.ContentEncoding.ToLower().Contains("deflate"))
responseStream = new DeflateStream(responseStream, CompressionMode.Decompress); StreamReader Reader = new StreamReader(responseStream, Encoding.Default); string Html = Reader.ReadToEnd();
request.AutomaticDecompression = DecompressionMethods.GZip Or DecompressionMethods.Deflate你应该先解压,再读取
request.AutomaticDecompression = DecompressionMethods.GZip Or DecompressionMethods.Deflate你应该先解压,再读取
正解! StreamReader Reader = new StreamReader(responseStream, Encoding.Default);后的Encoding是关键