using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Register
{
public class HttpClass
{
private System.Net.HttpWebRequest Request = null ;
private System.Net.WebResponse Response = null ;
private System.IO.Stream Stream = null ;
private System.IO.StreamReader Read = null ;
private System.Byte[] Byte = null ;
private System.Text.Encoding Encode = System.Text.Encoding.UTF8;
private System.Text.RegularExpressions.Match Match = null ;
public System.Net.WebProxy Proxy = new System.Net.WebProxy()
public string IPFor = null ;
public bool HideInfo = false ;
private void init_Request( ref System.Net.HttpWebRequest Request)
{
Request.Accept = "text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,image/png,application/java-archive,application/java,application/x-java-archive,text/vnd.sun.j2me.app-descriptor,application/vnd.oma.drm.message,application/vnd.oma.drm.content,application/vnd.oma.dd+xml,application/vnd.oma.drm.rights+xml,application/vnd.oma.drm.rights+wbxml,application/x-nokia-widget,text/x-opml,application/vnd.nokia.headwrapper,*/*;q=0.5" ;
Request.Headers.Add("Accept-Charset" , "iso-8859-1,utf-8;q=0.7,*;q=0.7" );
Request.Headers.Add("Accept-Language" , "zh-cn, zh;q=1.0,en;q=0.5,en;q=0.5,en;q=0.5" );
Request.Headers.Add("Accept-Encoding" , "gzip, deflate, x-gzip, identity; q=0.9" );
Request.Headers.Add("X-Nokia-MusicShop-Version" , "11.0842.9" );
Request.Headers.Add("X-Nokia-MusicShop-Bearer" , "GPRS/3G" );
Request.Headers.Add("X-Nokia-CONNECTION_MODE" , "TCP" );
Request.Headers.Add("X-Nokia-BEARER" , "3G" );
Request.Headers.Add("x-up-bear-type" , "GPRS/EDGE" );
Request.Headers.Add("X-Up-Bearer-Type" , "GPRS" );
Request.Headers.Add("x-source-id" , "GZGGSN1101BEr" );
Request.Headers.Add("Client-IP" , "211.139.151.74" );
if (IPFor != null ) Request.Headers.Add( "x-forwarded-for" , IPFor);
Request.Headers.Add("Via" , "WTP/1.1 192.168.13.33 (Nokia WAP Gateway 4.1/CD1/ECD13_E/4.1.05)" );
Request.Headers.Add("X-Nokia-gateway-id" , "NWG/4.1/Build4.1.05" );
Request.Headers.Add("X-Online-Host" , Request.Host);
if (!HideInfo)
{
Request.UserAgent = "Mozilla/5.0 (SymbianOS/9.4; U; Series60/5.0 Nokia5230/10.0.055; Profile/MIDP-2.1 Configuration/CLDC-1.1 ) AppleWebKit/413 (KHTML, like Gecko) Safari/413" ;
Request.Headers.Add("x-wap-profile" , "http://nds1.nds.nokia.com/uaprof/Nokia5230r100-3G.xml" )
if (IPFor != null )
{
Request.Headers.Add("x-nokia-ipaddress" , IPFor);
}
}
Request.AllowAutoRedirect = false ;
if (Proxy.Address != null )
{
Request.Proxy = Proxy;
}
Request.KeepAlive = false ;
Request.Timeout = 8000;
}
public string get_Internet( string url, string cookie = null )
{
try
{
Request = (System.Net.HttpWebRequest)System.Net.HttpWebRequest.Create(url);
url = null ;
if (Request != null )
{
init_Request(ref Request);
if (cookie != null ) { Request.Headers.Add( "Cookie" , cookie); }
using (Response = Request.GetResponse())
{
Stream = Response.GetResponseStream();
using (Read = new System.IO.StreamReader(Stream, System.Text.Encoding.UTF8))
{
url = Read.ReadToEnd();
}
Read = null ;
Stream = null ;
}
Response = null ;
Request.Abort();
Request = null ;
}
return url;
}
catch (Exception ex)
{
Error.Write(ref ex);
return null ;
}
}
public bool get_Stream( string url, ref System.IO.MemoryStream Stream, ref string cookie)
{
try
{
Request = (System.Net.HttpWebRequest)System.Net.HttpWebRequest.Create(url);
init_Request(ref Request);
if (cookie != null ) { Request.Headers.Add( "Cookie" , cookie); }
using (Response = Request.GetResponse())
{
Response.GetResponseStream().CopyTo(Stream);
if (cookie != null )
{
cookie += " " + get_Match(Response.Headers.Get( "Set-Cookie" ), "verifysession=([^;]+);" ).Replace( ";" , "" );
}
}
Response = null ;
}
catch (Exception ex)
{
Error.Write(ref ex);
return false ;
}
if (Request != null )
{
Request.Abort();
Request = null ;
}
return true ;
}
public string post_Internet( string url, string data, string cookie = null )
{
try
{
Request = (System.Net.HttpWebRequest)System.Net.HttpWebRequest.Create(url);
url = null ;
if (Request != null )
{
init_Request(ref Request);
if (cookie != null ) { Request.Headers.Add( "Cookie" , cookie); }
Request.Method = "POST" ;
Request.ServicePoint.Expect100Continue = false ;
Request.ContentType = "application/x-www-form-urlencoded; charset=utf-8" ;
Byte = Encode.GetBytes(data);
Request.ContentLength = Byte.Length;
using (Stream = Request.GetRequestStream())
{
Stream.Write(Byte, 0, Byte.Length);
}
Stream = null ;
Byte = null ;
data = null ;
using (Response = Request.GetResponse())
{
Stream = Response.GetResponseStream();
using (Read = new System.IO.StreamReader(Stream))
{
url = Read.ReadToEnd();
}
Read = null ;
Stream = null ;
}
Response = null ;
Request.Abort();
Request = null ;
}
return url;
}
catch (Exception ex)
{
Error.Write(ref ex);
return null ;
}
}
public string get_All( string url, string cookie = null )
{
try
{
Request = (System.Net.HttpWebRequest)System.Net.HttpWebRequest.Create(url);
url = null ;
if (Request != null )
{
Request.Method = "GET" ;
init_Request(ref Request);
if (cookie != null ) { Request.Headers.Add( "Cookie" , cookie); }
using (Response = Request.GetResponse())
{
foreach ( string name in Response.Headers.AllKeys)
{
url += name + "=" + Response.Headers.Get(name) + "; " ;
}
Stream = Response.GetResponseStream();
using (Read = new System.IO.StreamReader(Stream, System.Text.Encoding.UTF8))
{
url += Read.ReadToEnd();
}
Read = null ;
Stream = null ;
}
Response = null ;
Request.Abort();
Request = null ;
}
return url;
}
catch (Exception ex)
{
Error.Write(ref ex);
return null ;
}
}
public string get_Header( string url, string key = "Set-Cookie" , string cookie = null )
{
try
{
Request = (System.Net.HttpWebRequest)System.Net.HttpWebRequest.Create(url);
url = null ;
if (Request != null )
{
Request.Method = "HEAD" ;
init_Request(ref Request);
if (cookie != null ) { Request.Headers.Add( "Cookie" , cookie); }
using (Response = Request.GetResponse())
{
url = Response.Headers.Get(key);
}
Response = null ;
Request.Abort();
Request = null ;
}
return url;
}
catch (Exception ex)
{
Error.Write(ref ex);
return null ;
}
}
public string get_Match( string src, string pattern, string substr = null )
{
Match = System.Text.RegularExpressions.Regex.Match(src, pattern);
if (!Match.Success)
{
return null ;
}
if (substr != null )
{
return Match.Groups[substr].Value;
}
return Match.Value;
}
public static bool try_Email( string ToAddress, string Subject, string Value, string [] PathArray = null )
{
bool result = false ;
System.Net.Mail.SmtpClient Mail = new System.Net.Mail.SmtpClient( "smtp.qq.com" , 25);
Mail.UseDefaultCredentials = true ;
Mail.Credentials = new System.Net.NetworkCredential( "feedback01" , "z123456" );
Mail.DeliveryMethod = System.Net.Mail.SmtpDeliveryMethod.Network;
System.Net.Mail.MailMessage Messages = new System.Net.Mail.MailMessage( new System.Net.Mail.MailAddress( "feedback01@qq.com" ), new System.Net.Mail.MailAddress(ToAddress));
Messages.BodyEncoding = System.Text.Encoding.UTF8;
Messages.SubjectEncoding = System.Text.Encoding.UTF8;
Messages.Subject = Subject;
Messages.Body = Value;
System.Net.Mail.Attachment[] Attachments = null ;
try
{
if (PathArray != null )
{
Attachments = new System.Net.Mail.Attachment[PathArray.Length];
for ( int i = 0; i < PathArray.Length; i++)
{
if (PathArray[i].Length >= 6 && System.IO.File.Exists(PathArray[i]))
{
Attachments[i] = new System.Net.Mail.Attachment(PathArray[i]);
Messages.Attachments.Add(Attachments[i]);
}
}
}
Mail.Send(Messages);
result = true ;
}
catch (Exception ex)
{
Error.Write(ref ex);
result = false ;
}
if (Attachments != null )
{
for ( int k = 0; k < Attachments.Length; k++)
{
if (Attachments[k] != null )
{
Attachments[k].Dispose();
}
}
}
Messages.Dispose();
Mail.Dispose();
return result;
}
[System.Runtime.InteropServices.StructLayout(System.Runtime.InteropServices.LayoutKind.Sequential)]
public struct SHELLEXECUTEINFO
{
public int cbSize;
public int fMask;
public int hwnd;
[System.Runtime.InteropServices.MarshalAs(System.Runtime.InteropServices.UnmanagedType.LPWStr)]
public string lpVerb;
[System.Runtime.InteropServices.MarshalAs(System.Runtime.InteropServices.UnmanagedType.LPWStr)]
public string lpFile;
[System.Runtime.InteropServices.MarshalAs(System.Runtime.InteropServices.UnmanagedType.LPWStr)]
public string lpParameters;
public int lpDirectory;
public int nShow;
public int hInstApp;
public int lpIDList;
public int lpClass;
public int hkeyClass;
public int dwHotKey;
public int hIcon;
public int hProcess;
}
[System.Runtime.InteropServices.DllImport("Shell32.dll" , CharSet = System.Runtime.InteropServices.CharSet.Auto, SetLastError = true )]
public static extern bool ShellExecuteEx( ref SHELLEXECUTEINFO lpExecInfo);
static SHELLEXECUTEINFO ShellInfo;
public static void OpenURL( string url)
{
if (ShellInfo.lpFile == null )
{
Microsoft.Win32.RegistryKey SubKey = Microsoft.Win32.Registry.ClassesRoot.OpenSubKey(@"HTTP\shell\open\command" );
if (SubKey == null )
{
return ;
}
string Explorer = (( string )SubKey.GetValue( null )).Replace( "\"" , "" );
int SpaceOffset = -1;
if ((SpaceOffset = Explorer.LastIndexOf( " " )) != -1)
{
Explorer = Explorer.Substring(0, SpaceOffset);
}
ShellInfo.cbSize = System.Runtime.InteropServices.Marshal.SizeOf(ShellInfo);
ShellInfo.lpFile = Explorer;
ShellInfo.nShow = 1;
SubKey.Close();
SubKey.Dispose();
}
ShellInfo.lpParameters = url;
ShellExecuteEx(ref ShellInfo);
}
}
}
posted @
2013-10-12 15:17
王者杂货铺
阅读(
1111 )
评论()
编辑
收藏
举报
点击右上角即可分享
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步