private void ImagenCaptcha() { string codigo = GenerateRandomCode(); // Create a CAPTCHA image using the text stored in the Session object. RandomImage ci = new RandomImage(codigo, 300, 75); // Change the response headers to output a JPEG image. //Response.Clear(); //Response.ContentType = "image/jpeg"; // Write the image to the response stream in JPEG format. string imagePath = MapPath("~/Images/captcha.Bmp"); if (File.Exists(imagePath)) { File.Delete(imagePath); } ci.Image.Save(imagePath, ImageFormat.Bmp); // Dispose of the CAPTCHA image object. ci.Dispose(); // this.Image1.ImageUrl = "~/Account/CImage.ashx?codigo=" + codigo; this.Image1.ImageUrl = "~/Images/captcha.Bmp"; this.Image1.Width = 225; this.Image1.Height = 75; this.Image1.DataBind(); this.HiddenField1.Value = codigo; }
/// <summary> /// 验证图片 /// </summary> /// <param name="width">图片宽度</param> /// <param name="height">图片高度</param> /// <returns></returns> public ImageResult VerifyImage(int width = 56, int height = 20) { //获得用户唯一标示符sid string sid = MallUtils.GetSidCookie(); //当sid为空时 if (sid == null) { //生成sid sid = Sessions.GenerateSid(); //将sid保存到cookie中 MallUtils.SetSidCookie(sid); } //生成验证值 string verifyValue = Randoms.CreateRandomValue(4, false).ToLower(); //生成验证图片 RandomImage verifyImage = Randoms.CreateRandomImage(verifyValue, width, height, Color.White, Color.Blue, Color.DarkRed); //将验证值保存到session中 Sessions.SetItem(sid, "verifyCode", verifyValue); //输出验证图片 return(new ImageResult(verifyImage.Image, verifyImage.ContentType)); }
/// <summary> /// 验证图片 /// </summary> /// <param name="width">图片宽度</param> /// <param name="height">图片高度</param> /// <returns></returns> public ImageResult VerifyImage(int width = 56, int height = 20) { //获得用户唯一标示符sid //string sid = MallUtils.GetSidCookie(); ////当sid为空时 //if (sid == null) //{ // //生成sid // sid = Sessions.GenerateSid(); // //将sid保存到cookie中 // MallUtils.SetSidCookie(sid); //} RandomVerifyCode Randoms = new RandomVerifyCode(); // Randoms.RandomLibrary = BMAConfig.MallConfig.RandomLibrary.ToCharArray(); //生成验证值 string verifyValue = Randoms.CreateRandomValue(4, true).ToLower(); //生成验证图片 RandomImage verifyImage = Randoms.CreateRandomImage(verifyValue, width, height, Color.White, Color.Blue, Color.DarkRed); //将验证值保存到session中 // Sessions.SetItem(sid, "verifyCode", verifyValue); //输出验证图片 return(new ImageResult(verifyImage.Image, verifyImage.ContentType)); }
public ActionResult Index(MysteryDetail mysteryDetail) { if (string.IsNullOrWhiteSpace(mysteryDetail.Name)) { return(Error(mysteryDetail, "Please ensure all details are filled in.")); } var details = mysteryDetail.Clues as IList <ClueDetail> ?? mysteryDetail.Clues.ToList(); if (details.Any(clueDetail => string.IsNullOrWhiteSpace(clueDetail.Clue) || clueDetail.Latitude == null || clueDetail.Longitude == null)) { return(Error(mysteryDetail, "Please ensure all details are filled in.")); } var service = CreateTwitterService(); var token = TempData["token"]; var tokenSecret = TempData["tokenSecret"]; service.AuthenticateWith(token.ToString(), tokenSecret.ToString()); var finalMystery = details.Aggregate("", (current, detail) => current + detail.Clue); foreach (var clueDetail in details) { var bmp = RandomImage.GetImage(); var colour = bmp.GetPixel(0, 0); bmp.MakeTransparent(colour); var embedded = new EmbeddedDetails { Mystery = mysteryDetail.Name, Clue = clueDetail.Clue, Latitude = clueDetail.Latitude.Value, Longitude = clueDetail.Longitude.Value, Message = clueDetail.Message, FinalMystery = finalMystery }; var json = new JavaScriptSerializer().Serialize(embedded); var message = Encryption.Encrypt(json); var img = Steganography.Embed(message, bmp); var ms = new MemoryStream(); img.Save(ms, ImageFormat.Png); ms.Seek(0, SeekOrigin.Begin); service.SendTweetWithMedia(new SendTweetWithMediaOptions { Status = "#twitspionage clue", Images = new Dictionary <string, Stream> { { "Twitspionage clue", ms } } }); if (service.Response.StatusCode == HttpStatusCode.OK && service.Response.Error == null) { continue; } return(Error(mysteryDetail, "Error tweeting clues. Please check your Twitter account and repost any that are missing.")); } return(View("Success")); }
public static void Main(string[] args) { //Get list of all breeds BreedList.ListAllBreed(); //Call the Verify breed class string breedName = "retriever"; Console.WriteLine("Verify if " + breedName + " " + "Exist" + "\n" + "------------------------------------------------------"); var exists = VerifyBreed.CheckBreed(breedName); Console.WriteLine(exists ? "Pass " + breedName + " is withinlist" : "Failed" + breedName + " is not within the list"); Console.WriteLine("Perform an API request to produce a list of sub-breeds for “retriever”. (Diagram 3) " + "\n" + "------------------------------------------------------"); SubBreed.SubBreedName(breedName); //Console.WriteLine(exists_ ? "Pass " + breedName + " is withinlist" // : "Failed" + breedName + " is not within the list"); RandomImage.GetRandomImage(); Console.ReadLine(); }
public async Task <IActionResult> UpYunImageServiceHook() { using (StreamReader reader = new StreamReader(Request.Body)) { try { string body = await reader.ReadToEndAsync().ConfigureAwait(true); ContentIdentifiesHookMessages message = JsonSerializer.Deserialize <ContentIdentifiesHookMessages>(body, Common.Utils.MyJsonConvert.GetLeanoteOptions()); if (string.IsNullOrEmpty(message.uri) || message.type == UpyunType.test) { Response.StatusCode = 200; return(Content("未找到")); } string fileSHA1 = Path.GetFileNameWithoutExtension(message.uri); RandomImage imagedb = dataContext.RandomImage.Where(b => b.FileSHA1.Equals(fileSHA1)).FirstOrDefault(); if (imagedb == null) { Response.StatusCode = (int)HttpStatusCode.NotFound; return(Content("未找到")); } switch (message.type) { case UpyunType.delete: imagedb.IsDelete = true; break; case UpyunType.shield: imagedb.Block = true; break; case UpyunType.cancel_shield: imagedb.Block = false; break; case UpyunType.forbidden: imagedb.Block = true; break; case UpyunType.cancel_forbidden: imagedb.Block = false; break; default: break; } dataContext.SaveChanges(); // Do something } catch (Exception ex) { Response.StatusCode = 404; return(Content("false" + ex.Message)); } } Response.StatusCode = 200; return(Content("ok")); }
private void RandomImageURL() { _breed = _DogBreeds.message[SelectedBreed]; string urlCall = "https://dog.ceo/api/breed/" + Breed + "/images/random"; RandomImage image = _dogBreedsService.GetRandomImageURL(urlCall); ImageUrl = image.message; }
public static async System.Threading.Tasks.Task InsertImageAsync(RandomImage randomImage) { using (var db = new DataContext()) { db.RandomImage.Add(randomImage); await db.SaveChangesAsync(); } }
protected void Page_Load(object sender, EventArgs e) { this.Session["captcha"] = GenerateRandomCode(); RandomImage ci = new RandomImage(this.Session["captcha"].ToString(), 350, 100); this.Response.Clear(); this.Response.ContentType = "image/jpeg"; ci.Image.Save(this.Response.OutputStream, ImageFormat.Jpeg); ci.Dispose(); }
protected void UpdateFileListButton_Clicked(object sender, EventArgs e) { RandomImage.UpdateDB(WebUtils.GetRandomImgFileList()); //Empty Runtime cache HttpRuntime.Cache.Remove("randomImageList"); HttpRuntime.Cache.Remove("RandomFileList"); HttpContext.Current.Session.Remove("RandomImageSequence"); }
public void Variant3() { string CaptchaImageText = Helpers.GenerateRandomCode(); //CaptchaImageText = "CaptchaImageText"; // Create a CAPTCHA image using the text stored in the Session object. RandomImage ci = new RandomImage(CaptchaImageText, 300, 75); this.pictureBox1.Image = ci.Image; }
public FileResult GetCaptchaImage() { string text = Session["CAPTCHA"].ToString(); MemoryStream ms = new MemoryStream(); RandomImage _captcha = new RandomImage(text, 220, 50); _captcha.Image.Save(ms, System.Drawing.Imaging.ImageFormat.Png); _captcha.Dispose(); return(File(ms.ToArray(), "image/png")); }
// // GET: /RandomImage/ public FileContentResult GetImage() { // Create a random code and store it in the Session object. Session["CaptchaImageText"] = GenerateRandomCode(); // Create a CAPTCHA image using the text stored in the Session object. using (RandomImage ci = new RandomImage(Session["CaptchaImageText"].ToString(), 300, 75)) { return(File(ci.Image.ToByteArray(System.Drawing.Imaging.ImageFormat.Jpeg), "image/jpeg")); } }
public static List <RandomImage> GetRandomImageListFromCache() { List <RandomImage> randomImageList = HttpRuntime.Cache["randomImageList"] as List <RandomImage>; if (randomImageList == null) { randomImageList = RandomImage.GetRandomImageList(); HttpRuntime.Cache.Insert("randomImageList", randomImageList, null, DateTime.Now.AddMinutes(10), System.Web.Caching.Cache.NoSlidingExpiration); } return(randomImageList); }
protected void Page_Load(object sender, EventArgs e) { // Create a random code and store it in the Session object. this.Session["CaptchaImageText"] = GenerateRandomCode(); // Create a CAPTCHA image using the text stored in the Session object. RandomImage ci = new RandomImage(this.Session["CaptchaImageText"].ToString(), 280, 56); // Change the response headers to output a JPEG image. this.Response.Clear(); this.Response.ContentType = "image/jpeg"; // Write the image to the response stream in JPEG format. ci.Image.Save(this.Response.OutputStream, ImageFormat.Jpeg); // Dispose of the CAPTCHA image object. ci.Dispose(); }
internal string GetCaptchaBase64ImageStr(string txt) { // Create a CAPTCHA image using the text stored in the Session object. RandomImage ci = new RandomImage(txt, 300, 75); using (MemoryStream stream = new MemoryStream()) { ci.Image.Save(stream, ImageFormat.Jpeg); stream.Position = 0; BinaryReader br = new BinaryReader(stream); byte[] bytes = br.ReadBytes((Int32)stream.Length); return(string.Concat("data:image/jpeg;base64,", Convert.ToBase64String(bytes, 0, bytes.Length))); } }
protected override void OnPreRender(EventArgs e) { string queryString = Request.QueryString["img"]; if (!string.IsNullOrEmpty(queryString)) { RandomImage ri = WebUtils.GetRandomImageListFromCache().Where(x => x.ImageId == queryString).Take(1).SingleOrDefault(); if (ri != null) { string qstrImgPath = cms.Current.GetRootPath + "randimg/" + queryString + ";" + cms.Current.GetRootPath + "RandomImg/" + ri.FileName; ScriptManager.RegisterStartupScript(this, this.GetType(), "RandomImageScript", "var randImgUrl='" + qstrImgPath + "';", true); } } }
public void ProcessRequest(HttpContext context) { context.Session["CaptchaImageText"] = GenerateRandomCode(); // Create a CAPTCHA image using the text stored in the Session object. var ci = new RandomImage(context.Session ["CaptchaImageText"].ToString(),169, 30); // Change the response headers to output a JPEG image. context.Response.Clear(); context.Response.ContentType = "image/jpeg"; // Write the image to the response stream in JPEG format. ci.Image.Save(context.Response.OutputStream, ImageFormat.Jpeg); // Dispose of the CAPTCHA image object. ci.Dispose(); }
public ActionResult Captcha() { var randomCode = RndUtils.GenerateRandomCode(); Session["code"] = randomCode; using (var randomImage = new RandomImage(Session["code"].ToString(), 300, 75)) { Response.Clear(); Response.ContentType = "image/jpeg"; randomImage.Image.Save(Response.OutputStream, ImageFormat.Jpeg); } return(null); }
public void ProcessRequest(HttpContext context) { context.Session["CaptchaImageText"] = GenerateRandomCode(); // Create a CAPTCHA image using the text stored in the Session object. RandomImage ci = new RandomImage(context.Session["CaptchaImageText"].ToString(), 300, 75); // Change the response headers to output a JPEG image. context.Response.Clear(); context.Response.ContentType = "image/jpeg"; // Write the image to the response stream in JPEG format. ci.Image.Save(context.Response.OutputStream, System.Drawing.Imaging.ImageFormat.Jpeg); // Dispose of the CAPTCHA image object. ci.Dispose(); }
// GET: Common public ActionResult VerificationImgForm() { string code = StringHelper.GenerateRandomCode(); RandomImage ci = new RandomImage(code, 240, 60); TempData[CaptchaImageText] = code; using (MemoryStream ms = new MemoryStream()) { ci.Image.Save(ms, ImageFormat.Jpeg); ci.Dispose(); return(File(ms.ToArray(), "image/jpeg")); } }
public ActionResult GenerateCaptcha() { RandomImage randomimage = new RandomImage(); string s = randomimage.GenerateRandomCode(); Session["Captcha"] = s; FileContentResult imgstream = null; RandomImage img = new RandomImage(this.Session["captcha"].ToString(), 300, 75); var mem = new MemoryStream(); img.Image.Save(mem, System.Drawing.Imaging.ImageFormat.Jpeg); imgstream = this.File(mem.GetBuffer(), "image/Jpeg"); img.Dispose(); return(imgstream); }
public IHttpActionResult GetCaptcha() { try { RandomImage CaptchaImageEmail = new RandomImage(); Tuple <byte[], string> CaptchaEmail = CaptchaImageEmail.CaptchaImage(); string ImageData = "data:image/jpg;base64," + Convert.ToBase64String(CaptchaEmail.Item1); string CaptchaText = CaptchaEmail.Item2; JObject JsonObject = new JObject(); JsonObject.Add("ImageData", ImageData); JsonObject.Add("CaptchaText", CaptchaText); return(Ok(JsonObject)); } catch { return(NotFound()); } }
public override Bitmap Hash(byte[] data) { var bmp = this.GenerateBaseBitmap(); ushort gridsize = (ushort)Math.Ceiling(Math.Sqrt((float)data.Length)); ushort pixelSize = (ushort)(Math.Min(this.Width, this.Height) / gridsize); List <RectangleF> blocks = RandomImage.GetGridBlocks(this.Width, this.Height, pixelSize); using (var gfx = Graphics.FromImage(bmp)) using (var enumerator = blocks.GetEnumerator()) { for (int i = 0; i < data.Length; i++) { enumerator.MoveNext(); String s = AddBytes(data[i]); using (Brush brush = new SolidBrush(Color.Black)) { ShapesArtist.DrawEmoji(gfx, brush, enumerator.Current, s); } } } return(bmp); }
private void GetImage(string textImage) { RandomImage ci = new RandomImage(textImage, 300, 75); }
private async Task GetHttpWebRequestForAnYaAsync(string type) { string url = ""; if (type.Equals("少女映画")) { url = "https://api.r10086.com:8443/少女映画.php?password=20"; } else { url = $"https://api.r10086.com:8443/" + type + ".php"; } //建立请求 HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url); //添加Referer信息 request.Headers.Add(HttpRequestHeader.Referer, "http://www.bz08.cn/"); //伪装成谷歌浏览器 //request.Headers.Add(HttpRequestHeader.UserAgent, "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.71 Safari/537.36"); request.Headers.Add(HttpRequestHeader.UserAgent, "I am a cute web crawler"); //添加cookie认证信息 Cookie cookie = new Cookie("PHPSESSID", "s9gajue8h7plf7n5ab8fehiuoq"); cookie.Domain = "api.r10086.com"; if (request.CookieContainer == null) { request.CookieContainer = new CookieContainer(); } request.CookieContainer.Add(cookie); //发送请求获取Http响应 HttpWebResponse response = (HttpWebResponse)request.GetResponse(); //HttpWebResponse response = (HttpWebResponse)(await request.GetResponseAsync().ConfigureAwait(false)); var originalString = response.ResponseUri.OriginalString; Console.WriteLine(originalString); //获取响应流 Stream receiveStream = response.GetResponseStream(); //获取响应流的长度 int length = (int)response.ContentLength; //读取到内存 MemoryStream stmMemory = new MemoryStream(); byte[] buffer1 = new byte[length]; int i; //将字节逐个放入到Byte 中 while ((i = receiveStream.Read(buffer1, 0, buffer1.Length)) > 0) { stmMemory.Write(buffer1, 0, i); } //写入磁盘 string name = System.IO.Path.GetFileName(originalString); byte[] imageBytes = stmMemory.ToArray(); string fileSHA1 = SHAEncrypt_Helper.Hash1Encrypt(imageBytes); //上传到又拍云 if (!RandomImageService.Exist(type, fileSHA1)) { upyun.writeFile($"/upload/{SHAEncrypt_Helper.MD5Encrypt(type)}/{fileSHA1}{Path.GetExtension(name)}", imageBytes, true); RandomImage randomImage = new RandomImage() { RandomImageId = SnowFlake_Net.GenerateSnowFlakeID(), TypeName = type, TypeNameMD5 = SHAEncrypt_Helper.MD5Encrypt(type), TypeNameSHA1 = SHAEncrypt_Helper.Hash1Encrypt(type), FileName = name, FileNameMD5 = SHAEncrypt_Helper.MD5Encrypt(name), FileNameSHA1 = SHAEncrypt_Helper.Hash1Encrypt(name), FileSHA1 = fileSHA1, Sex = false, }; //记录到数据库 await RandomImageService.InsertImageAsync(randomImage).ConfigureAwait(false); } //name = $"{dir}{dsc}upload{dsc}{type}{dsc}{name}"; //if (!Directory.Exists($"{dir}{dsc}upload{dsc}{type}")) //{ // Directory.CreateDirectory($"{dir}{dsc}upload{dsc}{type}"); //} //if (!System.IO.File.Exists(name)) //{ // FileStream file = new FileStream(name, FileMode.Create, FileAccess.ReadWrite); // file.Write(stmMemory.ToArray()); // file.Flush(); // file.Close(); //} //FileStream file = new FileStream("1.jpg",FileMode.Create, FileAccess.ReadWrite); //关闭流 stmMemory.Close(); receiveStream.Close(); response.Close(); }
public ActionResult GenerateCaptcha() { RandomImage randomimage = new RandomImage(); string s = randomimage.GenerateRandomCode(); Session[ConstantKeys.CaptchaSession] = s; FileContentResult imgstream = null; RandomImage img = new RandomImage(s, 200, 50); var mem = new MemoryStream(); img.Image.Save(mem, System.Drawing.Imaging.ImageFormat.Jpeg); imgstream = this.File(mem.GetBuffer(), "image/Jpeg"); img.Dispose(); return imgstream; }
/// <summary> /// 创建随机图片 /// </summary> /// <param name="value">值</param> /// <param name="imageWidth">图片宽度</param> /// <param name="imageHeight">图片高度</param> /// <param name="imageBGColor">图片背景颜色</param> /// <param name="imageTextColor1">图片文字颜色</param> /// <param name="imageTextColor2">图片文字颜色</param> /// <returns>随机图片</returns> public RandomImage CreateRandomImage(string value, int imageWidth, int imageHeight, Color imageBGColor, Color imageTextColor1, Color imageTextColor2) { Bitmap image = new Bitmap(imageWidth, imageHeight); Graphics g = Graphics.FromImage(image); //保存图片数据 MemoryStream stream = new MemoryStream(); try { //生成随机生成器 //Random random = new Random(); //清空图片背景色 g.Clear(imageBGColor); //画图片的背景噪音线 for (int i = 0; i < 5; i++) { int x1 = _random.Next(image.Width); int x2 = _random.Next(image.Width); int y1 = _random.Next(image.Height); int y2 = _random.Next(image.Height); g.DrawLine(new Pen(Color.FromArgb(_random.Next(255), _random.Next(255), _random.Next(255))), x1, y1, x2, y2); } Font font = new Font("Arial", 12, (System.Drawing.FontStyle.Bold | System.Drawing.FontStyle.Italic)); LinearGradientBrush brush = new LinearGradientBrush(new Rectangle(0, 0, image.Width, image.Height), imageTextColor1, imageTextColor2, 1.2f, true); g.DrawString(value, font, brush, 2, 2); //画图片的前景噪音点 for (int i = 0; i < 80; i++) { int x = _random.Next(image.Width); int y = _random.Next(image.Height); image.SetPixel(x, y, Color.FromArgb(_random.Next())); } //画图片的边框线 g.DrawRectangle(new Pen(Color.Silver), 0, 0, image.Width - 1, image.Height - 1); RandomImage verifyImage = new RandomImage(); image.Save(stream, ImageFormat.Jpeg); verifyImage.Image = stream.ToArray(); verifyImage.ContentType = "image/jpeg"; return(verifyImage); } finally { if (stream != null) { stream.Dispose(); } if (g != null) { g.Dispose(); } if (image != null) { image.Dispose(); } } }
public async Task <IActionResult> GetRandomImage(string type) { int hour = DateTime.Now.Hour; lock (_fuseObj) { _fuseCount++; } string ext = null; if (string.IsNullOrEmpty(type)) { type = "动漫综合2"; } if (type.Equals("少女映画")) { string userHex = HttpContext.Session.GetString("_userId"); if (string.IsNullOrEmpty(userHex)) { //没登陆 return(Redirect("/Auth/login")); } } if (!_randomImageList.ContainsKey(type)) { _randomImageList.Add(type, new List <RandomImage>(size)); } RandomImage randomImage = RandomImageService.GetRandomImage(type); if (_randomImageList[type].Count < size) { randomImage = RandomImageService.GetRandomImage(type); if (random == null) { return(NotFound()); } _randomImageList[type].Add(randomImage); } else { if (DateTime.Now.Hour != _initTime) { _fuseCount = 0; _initTime = DateTime.Now.Hour; _randomImageList[type].Clear(); randomImage = RandomImageService.GetRandomImage(type); if (random == null) { return(NotFound()); } _randomImageList[type].Add(randomImage); } else { if (_fuseCount > _randomImageFuseSize) { Response.StatusCode = (int)HttpStatusCode.BadGateway; return(Content("接口并发太高,接口已经熔断")); } int index = random.Next(_randomImageList[type].Count - 1); randomImage = _randomImageList[type][index]; } } if (randomImage == null) { return(NotFound()); } ext = Path.GetExtension(randomImage.FileName); var headers = Request.Headers; StringBuilder stringBuilder = new StringBuilder(); foreach (var item in headers) { stringBuilder.Append(item.Key + "---" + item.Value + "\r\n"); } string RealIP = headers["X-Forwarded-For"].ToString().Split(",")[0]; AccessRecords accessRecords = new AccessRecords() { AccessId = SnowFlake_Net.GenerateSnowFlakeID(), IP = RealIP, X_Real_IP = headers["X-Real-IP"], X_Forwarded_For = headers["X-Forwarded-For"], Referrer = headers["Referer"], RequestHeader = stringBuilder.ToString(), AccessTime = DateTime.Now, UnixTime = (long)(DateTime.UtcNow.Subtract(new DateTime(1970, 1, 1))).TotalSeconds, TimeInterval = -1, url = "/api/GetRandomImage" }; await AccessService.InsertAccessAsync(accessRecords).ConfigureAwait(false); type = randomImage.TypeNameMD5; upyun.secret = postgreSQLConfig.upyunSecret;; Int32 unixTimestamp = (Int32)(DateTime.UtcNow.Subtract(new DateTime(1970, 1, 1))).TotalSeconds; unixTimestamp += 3; //开启token防盗链 if (postgreSQLConfig.token_anti_theft_chain) { string _upt = upyun.CreatToken(unixTimestamp.ToString(), upyun.secret, $"/upload/{type}/{randomImage.FileSHA1}{ext}"); return(Redirect($"https://upyun.morenote.top/upload/{type}/{randomImage.FileSHA1}{ext}?_upt={_upt}")); } else { return(Redirect($"https://upyun.morenote.top/upload/{type}/{randomImage.FileSHA1}{ext}")); } }