HttpWebRequest req =null;
HttpWebResponse resp =null;req = (HttpWebRequest)WebRequest.Create(url);
Stream ReceiveStream = resp.GetResponseStream();System.Text.Encoding encode = System.Text.Encoding.GetEncodin("GB2312");
StreamReader readStream = new StreamReader( ReceiveStream, encode );read = new Char[152400];
int count = readStream.Read( read, 0, 4096 );
while (count > 0)
{
String str = new String(read, 0, count);
nHtml = nHtml + str;
count = readStream.Read(read, 0, 4096);
}最后读出来nHtml是 “Forbidden” 直接将我访问的 url 在IE栏目里输入,网页有显示。应该不存在权限问题,
如何解决? 谢谢大家了。
HttpWebResponse resp =null;req = (HttpWebRequest)WebRequest.Create(url);
Stream ReceiveStream = resp.GetResponseStream();System.Text.Encoding encode = System.Text.Encoding.GetEncodin("GB2312");
StreamReader readStream = new StreamReader( ReceiveStream, encode );read = new Char[152400];
int count = readStream.Read( read, 0, 4096 );
while (count > 0)
{
String str = new String(read, 0, count);
nHtml = nHtml + str;
count = readStream.Read(read, 0, 4096);
}最后读出来nHtml是 “Forbidden” 直接将我访问的 url 在IE栏目里输入,网页有显示。应该不存在权限问题,
如何解决? 谢谢大家了。
解决方案 »
- C# datagridview 在控件中使用下拉菜单
- 请问如何在WPF中通过导航在代码中一个window跳转到另一个window?
- 如何让PictureBox图形里面的热区相应鼠标悬停事件?
- ILMerge(合并Dll和EXE文件)到底怎么用呀????
- 怎样实现星际争霸开场前的设置菜单的半透明抽屉效果
- 正则表达式问题关于逻辑或
- 程序线程问题!如何等到所有的线程结束然后才执行我的代码
- PISDK平均值、最大值、最小值的函数
- 这里的运算符重载,为什么老是提示:必须包含类型??
- 请问如何将已经存在的FileStream写入到一个文件中呢
- 一个关于tabcontrol 的问题
- ~~~sql 小问题(在线等!)
resp = (HttpWebResponse)req.GetResponse(); //中间插入这一行试试
Stream ReceiveStream = resp.GetResponseStream();
运行你程序的时候抓一下数据包,看从那个URL返回的字节数是多少.
如果不是0 (说明返回数据了),那就检查一下你的read stream到str的代码
如果返回的是0 还是检查你的request好了
req.Credentials = CredentialCache.DefaultCredentials;
request.Headers.Add("Accept-Encoding", "gzip,deflate"); HttpWebResponse response = (HttpWebResponse)request.GetResponse();
Stream strm = response.GetResponseStream(); byte[] buffer = new byte[1024];
int readlength = 0; FileStream fstream = new FileStream("c:\\abc.gz", FileMode.Create);
do
{
readlength = strm.Read(buffer, 0, buffer.Length);
fstream.Write(buffer,0, readlength);
} while (readlength > 0); strm.Close();
fstream.Close();
//上面这段代码是我从sohu的新闻网页用gzip格式得到的数据
运行后在c:\生成压缩文件,用winrar可解压缩查看
你自己参考把
==>>
req = (HttpWebRequest)WebRequest.Create(new System.Uri(url));
{
string strResult;
HttpWebRequest myReq = (HttpWebRequest)WebRequest.Create(new System.Uri(a_strUrl));
myReq.Method = "GET";
myReq.Accept = "*/*";
myReq.UserAgent = "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)"; try
{
HttpWebResponse HttpWResp = (HttpWebResponse)myReq.GetResponse(); string tmp = myReq.Headers.ToString(); Stream myStream = HttpWResp.GetResponseStream(); StreamReader sr = new StreamReader(myStream, Encoding.Default);
StringBuilder strBuilder = new StringBuilder();
while (-1 != sr.Peek())
{
strBuilder.Append(sr.ReadLine() + "\r\n");
} strResult = strBuilder.ToString();
// StreamWriter sw = new StreamWriter("E:\\1.txt", false, Encoding.Default);
// sw.Write(strResult);
myStream.Close();
sr.Close();
// sw.Close();
}
catch (Exception exp)
{
strResult = "错误:" + exp.Message;
}
return strResult;
// StreamWriter sw = new StreamWriter(SaveFileName(), false, Encoding.Default);
// sw.Write(body);
// sw.Close();
}
我现在用的代码
myReq.UserAgent = "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)";就行了。