Fixed: replaced web client
This commit is contained in:
		
							parent
							
								
									b3303a830b
								
							
						
					
					
						commit
						d0471a03a8
					
				| @ -1,5 +1,6 @@ | |||||||
| using bzit.bomg.Models; | using bzit.bomg.Models; | ||||||
| using HtmlAgilityPack; | using HtmlAgilityPack; | ||||||
|  | using RyzStudio.Net; | ||||||
| using System; | using System; | ||||||
| using System.Drawing; | using System.Drawing; | ||||||
| using System.IO; | using System.IO; | ||||||
| @ -11,6 +12,8 @@ namespace bzit.bomg | |||||||
| { | { | ||||||
|     public class BookmarkItemModel : BookmarkItemViewModel |     public class BookmarkItemModel : BookmarkItemViewModel | ||||||
|     { |     { | ||||||
|  |         protected HttpWeb webClient = null; | ||||||
|  | 
 | ||||||
|         public BookmarkItemModel() |         public BookmarkItemModel() | ||||||
|         { |         { | ||||||
|             this.Clear(); |             this.Clear(); | ||||||
| @ -147,17 +150,31 @@ namespace bzit.bomg | |||||||
| 
 | 
 | ||||||
|         protected string retrieveSourceCode() |         protected string retrieveSourceCode() | ||||||
|         { |         { | ||||||
|             WebClient webClient = new WebClient(); |             if (webClient == null) | ||||||
|             webClient.CachePolicy = new System.Net.Cache.RequestCachePolicy(System.Net.Cache.RequestCacheLevel.NoCacheNoStore); |             { | ||||||
|  |                 webClient = new HttpWeb(); | ||||||
|  |             } | ||||||
| 
 | 
 | ||||||
|             try |             string sourceCode; | ||||||
|  |             int statusCode = webClient.GetResponse(out sourceCode, this.SiteAddress); | ||||||
|  |             if ((statusCode == 200) || (statusCode == 301) || (statusCode == 302)) | ||||||
|             { |             { | ||||||
|                 return webClient.DownloadString(this.SiteAddress); |                 return sourceCode; | ||||||
|             } |             } | ||||||
|             catch | 
 | ||||||
|             { |  | ||||||
|             return null; |             return null; | ||||||
|             } | 
 | ||||||
|  |             //WebClient webClient = new WebClient(); | ||||||
|  |             //webClient.CachePolicy = new System.Net.Cache.RequestCachePolicy(System.Net.Cache.RequestCacheLevel.NoCacheNoStore); | ||||||
|  | 
 | ||||||
|  |             //try | ||||||
|  |             //{ | ||||||
|  |             //    return webClient.DownloadString(this.SiteAddress); | ||||||
|  |             //} | ||||||
|  |             //catch (Exception exc) | ||||||
|  |             //{ | ||||||
|  |             //    return null; | ||||||
|  |             //} | ||||||
|         } |         } | ||||||
| 
 | 
 | ||||||
| 		protected string parseTagValue(HtmlDocument doc, string xpath, string defaultValue = "") | 		protected string parseTagValue(HtmlDocument doc, string xpath, string defaultValue = "") | ||||||
|  | |||||||
| @ -32,5 +32,5 @@ using System.Runtime.InteropServices; | |||||||
| // You can specify all the values or you can default the Build and Revision Numbers  | // You can specify all the values or you can default the Build and Revision Numbers  | ||||||
| // by using the '*' as shown below: | // by using the '*' as shown below: | ||||||
| // [assembly: AssemblyVersion("1.0.*")] | // [assembly: AssemblyVersion("1.0.*")] | ||||||
| [assembly: AssemblyVersion("0.3.0.012")] | [assembly: AssemblyVersion("0.3.0.013")] | ||||||
| [assembly: AssemblyFileVersion("0.1.0.0")] | [assembly: AssemblyFileVersion("0.1.0.0")] | ||||||
|  | |||||||
							
								
								
									
										2
									
								
								Properties/Resources.Designer.cs
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										2
									
								
								Properties/Resources.Designer.cs
									
									
									
										generated
									
									
									
								
							| @ -89,7 +89,7 @@ namespace bzit.bomg.Properties { | |||||||
|         } |         } | ||||||
|          |          | ||||||
|         /// <summary> |         /// <summary> | ||||||
|         ///   Looks up a localized string similar to 0.3.0.012 beta. |         ///   Looks up a localized string similar to 0.3.0.013 beta. | ||||||
|         /// </summary> |         /// </summary> | ||||||
|         internal static string app_version { |         internal static string app_version { | ||||||
|             get { |             get { | ||||||
|  | |||||||
| @ -128,7 +128,7 @@ | |||||||
|     <value>Bookmark Manager</value> |     <value>Bookmark Manager</value> | ||||||
|   </data> |   </data> | ||||||
|   <data name="app_version" xml:space="preserve"> |   <data name="app_version" xml:space="preserve"> | ||||||
|     <value>0.3.0.012 beta</value> |     <value>0.3.0.013 beta</value> | ||||||
|   </data> |   </data> | ||||||
|   <data name="arrow_down_circle" type="System.Resources.ResXFileRef, System.Windows.Forms"> |   <data name="arrow_down_circle" type="System.Resources.ResXFileRef, System.Windows.Forms"> | ||||||
|     <value>..\Resources\2\arrow-down-circle.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> |     <value>..\Resources\2\arrow-down-circle.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> | ||||||
|  | |||||||
							
								
								
									
										168
									
								
								RyzStudio/Net/HttpWeb.cs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										168
									
								
								RyzStudio/Net/HttpWeb.cs
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,168 @@ | |||||||
|  | using System; | ||||||
|  | using System.IO; | ||||||
|  | using System.Net; | ||||||
|  | using System.Text; | ||||||
|  | using System.Windows.Forms; | ||||||
|  | 
 | ||||||
|  | namespace RyzStudio.Net | ||||||
|  | { | ||||||
|  | 	public class HttpWeb | ||||||
|  | 	{ | ||||||
|  | 		public string defaultUserAgent = "Momozilla/5.0 (" + Environment.OSVersion.Platform.ToString() + " ; " + Environment.OSVersion.VersionString + "; " + Application.CurrentCulture.TwoLetterISOLanguageName + ")"; | ||||||
|  | 		public int defaultTimeout = 6000; | ||||||
|  | 		public int defaultMaxRedirect = 8; | ||||||
|  | 		public bool defaultAllowRedirect = true; | ||||||
|  | 		public CookieContainer defaultCookierContainer = null; | ||||||
|  | 
 | ||||||
|  | 		public HttpWeb() | ||||||
|  | 		{ | ||||||
|  | 		} | ||||||
|  | 
 | ||||||
|  | 		public HttpWebRequest CreateRequest(string url) | ||||||
|  | 		{ | ||||||
|  | 			return this.CreateRequest(url, url); | ||||||
|  | 		} | ||||||
|  | 
 | ||||||
|  | 		public HttpWebRequest CreateRequest(string url, string referrerURL) | ||||||
|  | 		{ | ||||||
|  | 			if (defaultCookierContainer == null) | ||||||
|  | 			{ | ||||||
|  | 				defaultCookierContainer = new CookieContainer(); | ||||||
|  | 			} | ||||||
|  | 
 | ||||||
|  | 			HttpWebRequest webRequest = (HttpWebRequest)WebRequest.Create(url); | ||||||
|  | 			webRequest.CachePolicy = new System.Net.Cache.RequestCachePolicy(System.Net.Cache.RequestCacheLevel.NoCacheNoStore); | ||||||
|  | 			webRequest.MaximumAutomaticRedirections = defaultMaxRedirect; | ||||||
|  | 			webRequest.CookieContainer = defaultCookierContainer; | ||||||
|  | 			webRequest.UserAgent = defaultUserAgent; | ||||||
|  | 			webRequest.AllowAutoRedirect = defaultAllowRedirect; | ||||||
|  | 			webRequest.Timeout = defaultTimeout; | ||||||
|  | 
 | ||||||
|  | 			return webRequest; | ||||||
|  | 		} | ||||||
|  | 
 | ||||||
|  | 		public int GetResponse(out string sourceCode, string url, string referrerURL = "") | ||||||
|  | 		{ | ||||||
|  | 			HttpWebRequest webRequest = this.CreateRequest(url, referrerURL); | ||||||
|  | 
 | ||||||
|  | 			return GetResponse(out sourceCode, webRequest); | ||||||
|  | 		} | ||||||
|  | 
 | ||||||
|  | 		public int GetResponse(out string sourceCode, HttpWebRequest webRequest) | ||||||
|  | 		{ | ||||||
|  | 			sourceCode = string.Empty; | ||||||
|  | 
 | ||||||
|  | 			int rv = 0; | ||||||
|  | 
 | ||||||
|  | 			try | ||||||
|  | 			{ | ||||||
|  | 				HttpWebResponse webResponse = (HttpWebResponse)webRequest.GetResponse(); | ||||||
|  | 
 | ||||||
|  | 				rv = (int)webResponse.StatusCode; | ||||||
|  | 
 | ||||||
|  | 				StreamReader readContent = new StreamReader(webResponse.GetResponseStream()); | ||||||
|  | 				sourceCode = readContent.ReadToEnd(); | ||||||
|  | 
 | ||||||
|  | 				webResponse.Close(); | ||||||
|  | 				webResponse = null; | ||||||
|  | 			} | ||||||
|  | 			catch (WebException xc) | ||||||
|  | 			{ | ||||||
|  | 				if (xc.Response is HttpWebResponse) | ||||||
|  | 				{ | ||||||
|  | 					HttpWebResponse rs = xc.Response as HttpWebResponse; | ||||||
|  | 					StreamReader readContent = new StreamReader(rs.GetResponseStream()); | ||||||
|  | 					if (readContent != null) | ||||||
|  | 					{ | ||||||
|  | 						sourceCode = readContent.ReadToEnd(); | ||||||
|  | 					} | ||||||
|  | 
 | ||||||
|  | 					rv = (int)rs.StatusCode; | ||||||
|  | 				} | ||||||
|  | 				else | ||||||
|  | 				{ | ||||||
|  | 					rv = (int)xc.Status; | ||||||
|  | 					sourceCode = xc.Message; | ||||||
|  | 				} | ||||||
|  | 			} | ||||||
|  | 			catch (Exception xc) | ||||||
|  | 			{ | ||||||
|  | 				sourceCode = xc.Message; | ||||||
|  | 			} | ||||||
|  | 
 | ||||||
|  | 			return rv; | ||||||
|  | 		} | ||||||
|  | 
 | ||||||
|  | 		public static HttpWebRequest AddBasicAuthentication(HttpWebRequest webRequest, string username, string password) | ||||||
|  | 		{ | ||||||
|  | 			webRequest.Headers["Authorization"] = "Basic " + Convert.ToBase64String(Encoding.Default.GetBytes(string.Concat(username, ":", password))); | ||||||
|  | 			webRequest.PreAuthenticate = true; | ||||||
|  | 
 | ||||||
|  | 			return webRequest; | ||||||
|  | 		} | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 		public int GetPOSTResponse(out string sourceCode, HttpWebRequest webRequest, string postData) | ||||||
|  | 		{ | ||||||
|  | 			sourceCode = ""; | ||||||
|  | 			int rv = 0; | ||||||
|  | 			byte[] buffer = Encoding.UTF8.GetBytes(postData); | ||||||
|  | 
 | ||||||
|  | 			webRequest.ContentLength = buffer.Length; | ||||||
|  | 
 | ||||||
|  | 			try | ||||||
|  | 			{ | ||||||
|  | 				Stream dataStream = webRequest.GetRequestStream(); | ||||||
|  | 				dataStream.Write(buffer, 0, buffer.Length); | ||||||
|  | 				dataStream.Close(); | ||||||
|  | 			} | ||||||
|  | 			catch (Exception xc) | ||||||
|  | 			{ | ||||||
|  | 				sourceCode = xc.Message; | ||||||
|  | 				return rv; | ||||||
|  | 			} | ||||||
|  | 
 | ||||||
|  | 			return this.GetResponse(out sourceCode, webRequest); | ||||||
|  | 		} | ||||||
|  | 
 | ||||||
|  | 		public int GetHeader(out WebHeaderCollection headerCollection, string url, string referrerURL = "") | ||||||
|  | 		{ | ||||||
|  | 			headerCollection = null; | ||||||
|  | 
 | ||||||
|  | 			int rv = 0; | ||||||
|  | 
 | ||||||
|  | 			HttpWebRequest webRequest = this.CreateRequest(url, referrerURL); | ||||||
|  | 			webRequest.Method = "HEAD"; | ||||||
|  | 
 | ||||||
|  | 			try | ||||||
|  | 			{ | ||||||
|  | 				HttpWebResponse webResponse = (HttpWebResponse)webRequest.GetResponse(); | ||||||
|  | 				headerCollection = webResponse.Headers; | ||||||
|  | 
 | ||||||
|  | 				rv = (int)webResponse.StatusCode; | ||||||
|  | 
 | ||||||
|  | 				webResponse.Close(); | ||||||
|  | 				webResponse = null; | ||||||
|  | 			} | ||||||
|  | 			catch (WebException xc) | ||||||
|  | 			{ | ||||||
|  | 				if (xc.Response is HttpWebResponse) | ||||||
|  | 				{ | ||||||
|  | 					HttpWebResponse rs = xc.Response as HttpWebResponse; | ||||||
|  | 
 | ||||||
|  | 					rv = (int)rs.StatusCode; | ||||||
|  | 				} | ||||||
|  | 				else | ||||||
|  | 				{ | ||||||
|  | 					rv = (int)xc.Status; | ||||||
|  | 				} | ||||||
|  | 			} | ||||||
|  | 			catch (Exception xc) | ||||||
|  | 			{ | ||||||
|  | 				// do nothing | ||||||
|  | 			} | ||||||
|  | 
 | ||||||
|  | 			return rv; | ||||||
|  | 		} | ||||||
|  | 	} | ||||||
|  | } | ||||||
| @ -106,6 +106,7 @@ | |||||||
|       <DependentUpon>OptionForm.cs</DependentUpon> |       <DependentUpon>OptionForm.cs</DependentUpon> | ||||||
|     </Compile> |     </Compile> | ||||||
|     <Compile Include="Models\BookmarkItemModel.cs" /> |     <Compile Include="Models\BookmarkItemModel.cs" /> | ||||||
|  |     <Compile Include="RyzStudio\Net\HttpWeb.cs" /> | ||||||
|     <Compile Include="Windows\Forms\BookmarkTreeViewSNode.cs" /> |     <Compile Include="Windows\Forms\BookmarkTreeViewSNode.cs" /> | ||||||
|     <Compile Include="RyzStudio\Windows\Forms\HorizontalSeparator.cs"> |     <Compile Include="RyzStudio\Windows\Forms\HorizontalSeparator.cs"> | ||||||
|       <SubType>UserControl</SubType> |       <SubType>UserControl</SubType> | ||||||
|  | |||||||
		Reference in New Issue
	
	Block a user
	 Ray
						Ray