本文介绍了在csharp中下载网页的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
大家好.
我已经构建了一个系统,该系统可以从URL下载价目表并将其存储到SQL数据库中.我已经测试了许多网址.有些工作正常,而另一些则行不通.有人可以告诉我为什么吗?
Hi guys.
I ''ve built a system that downloads price board from a url and store into SQL Database. I ''ve test with many url. Some work fine and other doesn''t works. Could any one tell me why?
using System.Net;
using System.IO;
using System.Windows.Forms;
string result = null;
string url = "http://priceboard.fpts.com.vn/user/stock/hcm3/?s=31&rd=r15332110001";
WebResponse response = null;
StreamReader reader = null;
try
{
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
request.Method = "GET";
response = request.GetResponse();
reader = new StreamReader( response.GetResponseStream(), Encoding.UTF8 );
result = reader.ReadToEnd();
StreamWriter oSw = new StreamWriter("c:\\result.html");
oSw.WriteLine(result);
oSw.Close();
}
catch (Exception ex)
{
// handle error
MessageBox.Show( ex.Message );
}
finally
{
if (reader != null)
reader.Close();
if (response != null)
response.Close();
MessageBox.Show("Download completed!.")
}
它可以与代码中的URL一起正常使用,但不能与URL http://quotes2.eurocapital.vn/
一起使用
帮我解决.
在高级中表示感谢.
It works fine with URL in the code but didn''t work with url http://quotes2.eurocapital.vn/
Help me fix it.
Thanks in advanced.
推荐答案
/// <summary>
/// Returns the content of a given web adress as string.
/// </summary>
/// <param name="Url">URL of the webpage</param>
/// <returns>Website content</returns>
public string DownloadWebPage(string Url)
{
// Open a connection
HttpWebRequest WebRequestObject = (HttpWebRequest)HttpWebRequest.Create(Url);
// You can also specify additional header values like
// the user agent or the referer:
WebRequestObject.UserAgent = ".NET Framework/2.0";
WebRequestObject.Referer = "http://www.example.com/";
// Request response:
WebResponse Response = WebRequestObject.GetResponse();
// Open data stream:
Stream WebStream = Response.GetResponseStream();
// Create reader object:
StreamReader Reader = new StreamReader(WebStream);
// Read the entire stream content:
string PageContent = Reader.ReadToEnd();
// Cleanup
Reader.Close();
WebStream.Close();
Response.Close();
return PageContent;
}
string url = "http://google.com";
string strResult = "";
WebResponse objResponse;
WebRequest objRequest = System.Net.HttpWebRequest.Create(url);
objResponse = objRequest.GetResponse();
using (StreamReader sr = new StreamReader(objResponse.GetResponseStream()))
{
strResult = sr.ReadToEnd();
// Close and clean up the StreamReader
sr.Close();
}
// Display results to a webpage
Response.Write(strResult);
尝试两个代码,甚至根据需要进行一些更改.
投票或接受有帮助的答案:thumbsup :: rose:
Try both the code and even do some changes as per you want.
Vote OR Accept the answer if it is helpful:thumbsup::rose:
这篇关于在csharp中下载网页的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!