") > -1)
{
string fristpic = SubString1(content, "
", "
");
string tihuan = SubString1(fristpic, ".GetRowData(wxcondition);
if (value.ID > 0)
{
}
else
{
// string pic = GetVerifyCode(picurl, "weixinpic");//保存列表图片
News condition = new News();
condition.Maps = Convert.ToString(mid);
condition.SaiShi = fakeid;
condition.Title = title;
condition.Content = content;
condition.PublishTime = DateTime.Now;
condition.TypeID = 24;
condition.AddName = addname;
condition.State = 1;
TableOperate.Insert(condition);
}
}
return "1";
}
return "0";
}
public static string ExecLogin(string url, string name, string pass)//登陆微信公众平台函数
{
string result = "";
string password = GetMd5Str32(pass).ToUpper();
string padata = "username=" + name + "&pwd=" + password + "&imgcode=&f=json";
//g url = "http://mp.weixin.qq.com/cgi-bin/login?lang=zh_CN ";//请求登录的URL
try
{
// CookieContainer cc = new CookieContainer();//接收缓存
byte[] byteArray = Encoding.UTF8.GetBytes(padata); // 转化
HttpWebRequest webRequest2 = (HttpWebRequest)WebRequest.Create(url); //新建一个WebRequest对象用来请求或者响应url
webRequest2.CookieContainer = cc; //保存cookie
webRequest2.Method = "POST"; //请求方式是POST
webRequest2.ContentType = "application/x-www-form-urlencoded"; //请求的内容格式为application/x-www-form-urlencoded
webRequest2.ContentLength = byteArray.Length;
webRequest2.Referer = "https://mp.weixin.qq.com/";
Stream newStream = webRequest2.GetRequestStream(); //返回用于将数据写入 Internet 资源的 Stream。
// Send the data.
newStream.Write(byteArray, 0, byteArray.Length); //写入参数
newStream.Close();
HttpWebResponse response2 = (HttpWebResponse)webRequest2.GetResponse();
StreamReader sr2 = new StreamReader(response2.GetResponseStream(), Encoding.Default);
string text2 = sr2.ReadToEnd();
result = text2;
if (result.Length > 0)
{
//cookie
result =checkStr(SubString1(result, "lang=zh_CN&token=", "ShowVerifyCode").Replace(",","").Replace("\"",""));
// result = Tonken;
Tonken = result.Replace("\n","");
}
}
catch (Exception ex)
{
throw new Exception(ex.StackTrace);
}
return result;
}
public static string Getweixin(string url)//抓取新闻函数
{
// string Url = "https://mp.weixin.qq.com/cgi-bin/masssendpage?t=mass/list&action=history&begin=0&count=10&token=" + Tonken + "&lang=zh_CN";
HttpWebRequest myRequest = (HttpWebRequest)WebRequest.Create(url);
myRequest.CookieContainer = cc;
myRequest.Method = "GET";
myRequest.Proxy = null;
myRequest.UserAgent = "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:11.0) Gecko/20100101 Firefox/11.0";
myRequest.Headers.Add("Accept-Language", "zh-cn,en-us;q=0.8,zh-hk;q=0.6,ja;q=0.4,zh;q=0.2");
myRequest.Accept = "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8";
ServicePointManager.ServerCertificateValidationCallback = delegate { return true; };
ServicePointManager.SecurityProtocol = SecurityProtocolType.Ssl3;
HttpWebResponse myResponse = (HttpWebResponse)myRequest.GetResponse();
string str = new System.IO.StreamReader(myResponse.GetResponseStream(), Encoding.GetEncoding("UTF-8")).ReadToEnd();
return str;
}
private static bool CheckValidationResult(object sender, X509Certificate certificate, X509Chain chain, SslPolicyErrors errors)
{
return true; //总是接受
}
public static string SubString1(string sourceStr, string beginStr, string endStr)
{
int begin = sourceStr.IndexOf(beginStr);
if (begin == -1) return "";
int end = sourceStr.IndexOf(endStr, begin + beginStr.Length);
if (end == -1 && end == begin + beginStr.Length) return "";
return sourceStr.Substring(begin + beginStr.Length, end - begin - beginStr.Length);
}
public static string GetVerifyCode(string sourceUrl, string saveVirtualAddress)//下载图片
{
HttpWebRequest req = (HttpWebRequest)HttpWebRequest.Create(sourceUrl);
req.CookieContainer = cc;
using (WebResponse res = req.GetResponse())
{
System.Drawing.Image bmp = Bitmap.FromStream(res.GetResponseStream());
string fn = System.IO.Path.Combine(SysConfig.ApplicationPath+ saveVirtualAddress.TrimEnd('/') + "/", Guid.NewGuid().ToString() + ".jpg");
string address = HttpContext.Current.Server.MapPath(fn);
bmp.Save(address, ImageFormat.Jpeg);
return fn;
}
}
public static string GetMd5Str32(string str) //MD5摘要算法
{
MD5CryptoServiceProvider md5Hasher = new MD5CryptoServiceProvider();
// Convert the input string to a byte array and compute the hash.
char[] temp = str.ToCharArray();
byte[] buf = new byte[temp.Length];
for (int i = 0; i < temp.Length; i++)
{
buf[i] = (byte)temp[i];
}
byte[] data = md5Hasher.ComputeHash(buf);
// Create a new Stringbuilder to collect the bytes
// and create a string.
StringBuilder sBuilder = new StringBuilder();
// Loop through each byte of the hashed data
// and format each one as a hexadecimal string.
for (int i = 0; i < data.Length; i++)
{
sBuilder.Append(data[i].ToString("x2"));
}
// Return the hexadecimal string.
return sBuilder.ToString();
}
public static string checkStr(string html)
{
System.Text.RegularExpressions.Regex regex1 = new System.Text.RegularExpressions.Regex(@"标记
html = regex2.Replace(html, ""); //过滤href=javascript: () 属性
html = regex3.Replace(html, " _disibledevent="); //过滤其它控件的on...事件
html = regex4.Replace(html, ""); //过滤iframe
html = regex5.Replace(html, ""); //过滤frameset
html = regex6.Replace(html, ""); //过滤frameset
html = regex7.Replace(html, ""); //过滤frameset
html = regex8.Replace(html, ""); //过滤frameset
html = regex9.Replace(html, "");
html = html.Replace(" ", "");
html = html.Replace("", "");
html = html.Replace("", "");
return html;
}
}