2013-08-28 30 views
0

我在C#中調用System.Net庫,我試圖簡單地將它設置爲讓你輸入一個url,將它作爲一個字符串並將其放入Client.DownloadString()字段中的URl的參數中。向字符串輸入值作爲要下載頁面的網站URL

這是我的代碼。

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Text; 
using System.Threading.Tasks; 
using System.Net; 
namespace StringDownloadTest 
{ 
    class GetInformation 
    { 
     string EnterString; 
     public string InputString() 
     { 
      EnterString = Console.ReadLine(); 
      return EnterString; 
     } 
    } 

    class DownloadString 
    { 

     static void Main(string[] args) 
     { 
      GetInformation R = new GetInformation(); 
      R.InputString(); 

      string downloadedString; 
      System.Net.WebClient client; 
      client = new System.Net.WebClient(); 
      downloadedString = client.DownloadString(R.InputString()); 
      Console.WriteLine("String: {0}", downloadedString); 
     } 
    } 
} 

這裏的任何幫助,它會編譯,但程序崩潰。

+2

你什麼錯誤? – SLaks

+0

輸入的時間太長,這裏是一個屏幕截圖的鏈接。 http://imgur.com/xoz5vK4 – dewclaw

+0

如果你點擊右鍵,選擇標記,然後突出顯示你的錯誤並再次右鍵單擊,它會將文本放入緩衝區,從而可以將其粘貼到此處。只是在說。 :) – paqogomez

回答

1

您正在調用R.InputString兩次,並且只是第一次輸入輸入。

嘗試:

GetInformation R = new GetInformation(); 
Console.WriteLine("Please enter a valid url protocol://domain"); 
var input = R.InputString(); 

Uri uri; 
if(!Uri.TryCreate(input, UriKind.Absolute, out uri)) 
{ 
    Console.WriteLine("Url format could not be determined for {0}", input); 
    Environment.Exit(1); 
} 

var client = new System.Net.WebClient(); 
var downloadedString = client.DownloadString(uri); 
Console.WriteLine("String: {0}", downloadedString);