예제 #1
0
        public virtual WebRequestParameter CreateImageRequest(GalleryImageView view, GalleryImagePath path, GalleryParameterValues values)
        {
            var parameter = this.CreateRequestParameter();

            parameter.Method = "GET";
            parameter.Uri    = path.ImageUrl;

            return(parameter);
        }
예제 #2
0
 public override GalleryImagePath ReloadImagePath(GalleryImageView _view, GalleryImagePath prev, GalleryParameterValues values)
 {
     if (_view is HitomiGalleryImageView view)
     {
         this.InstallLtn();
         var newView = this.GetGalleryImageView(view.ImageFile);
         return(this.GetGalleryImagePath(newView, values));
     }
     else
     {
         throw new NotImplementedException();
     }
 }
        private GalleryImagePath GetGalleryImagePath(string viewUrl, GalleryParameterValues values)
        {
            var parameter = this.CreateRequestParameter();

            parameter.Uri    = viewUrl;
            parameter.Method = "GET";

            using (var response = this.Explorer.Request(parameter))
            {
                var bodyElement    = response.ReadAsDocument().DocumentNode.ChildNodes["html"].ChildNodes["body"];
                var mainDivElement = bodyElement.ChildNodes.FirstOrDefault(n => n.GetAttributeValue("id", string.Empty).Equals("i1"));

                var image = new GalleryImagePath
                {
                    ImageUrl  = this.GetGalleryImageUrl(mainDivElement, values),
                    ReloadUrl = this.GetGalleryReloadUrl(viewUrl, mainDivElement)
                };

                return(image);
            }
        }
예제 #4
0
        public override WebRequestParameter CreateImageRequest(GalleryImageView view, GalleryImagePath path, GalleryParameterValues values)
        {
            var request = base.CreateImageRequest(view, path, values);

            request.Referer = Site.HitomiReader.ToUrl(this.DownloadInput);

            return(request);
        }
예제 #5
0
 public virtual void Validate(GalleryImageView view, GalleryImagePath path, GalleryParameterValues values, byte[] bytes)
 {
 }
예제 #6
0
 public abstract GalleryImagePath ReloadImagePath(GalleryImageView view, GalleryImagePath prev, GalleryParameterValues values);
        public override WebRequestParameter CreateImageRequest(GalleryImageView view, GalleryImagePath path, GalleryParameterValues values)
        {
            var uri      = new Uri(path.ImageUrl);
            var fileName = uri.GetFileName();

            if (fileName.Equals("509.gif") == true)
            {
                throw new ImageRequestCreateException("ImageLimit");
            }

            return(base.CreateImageRequest(view, path, values));
        }
 public override GalleryImagePath ReloadImagePath(GalleryImageView view, GalleryImagePath prev, GalleryParameterValues values)
 {
     return(this.GetGalleryImagePath(prev.ReloadUrl, values));
 }