本文介绍了在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中下载网页的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

07-31 13:59