Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >使用Cloudflare CF-IPCountry选择要从中抓取图像的文件夹

使用Cloudflare CF-IPCountry选择要从中抓取图像的文件夹
EN

Stack Overflow用户
提问于 2018-08-15 18:17:55
回答 1查看 614关注 0票数 0

我目前正在尝试学习C#,它对我来说有点陌生,所以如果我问了一些基本的问题,我很抱歉。

我想使用Cloudflares IP,它返回一个国家代码,例如。美国,GB,AU。

根据给定的国家/地区,我想选择一个不同的目录来随机挑选图像。

例如,如果CF表示GB,我希望它从/img/gb/中随机选取一个图像。和this script一模一样,只是在C#中。

到目前为止,我已经写了这篇文章,它在一个文件夹中工作,但我一直被困在这一部分。

代码语言:javascript
运行
AI代码解释
复制
public class getimage : IHttpHandler
{
    public void ProcessRequest (HttpContext context)
    {
        // Set a default for images
        string imgdirectory = "/img";

        // check if a directory has been given as a source for images
        if (context.Request.QueryString["d"] != null)
        {
            imgdirectory = context.Request.QueryString["d"];
        }

        // read in all the images into an array
        string[] imgarray = Directory.GetFiles(HttpContext.Current.Server.MapPath(imgdirectory), "*.jpg");

        // generate a radom number upto the total number of images
        Random random = new Random();
        int randomNumber = random.Next(0, imgarray.Length);

        // read in the file
        byte[] imageBytes =File.ReadAllBytes(imgarray[randomNumber]);

        // output the image 
        using (MemoryStream ms = new MemoryStream(imageBytes))
        {
            context.Response.ContentType = "image/jpg";
            ms.WriteTo(context.Response.OutputStream);
        }
    }

    public bool IsReusable {
        get {
            return false;
        }
    }
}
EN

回答 1

Stack Overflow用户

发布于 2018-08-15 22:24:15

回答我自己的问题:

代码语言:javascript
运行
AI代码解释
复制
    protected void Page_Load(object sender, EventArgs e)
{
    string filename = "";
    if (Request.Headers.AllKeys.Contains("CF-IPCountry"))
    {
        string countrycode = Request.Headers["CF-IPCountry"].ToString();
        if (Directory.Exists(Server.MapPath("~/img/" + countrycode)))
        {
            string[] files = Directory.GetFiles(Server.MapPath("~/img/" + countrycode + "/"), "*.jpg");
            Random _r = new Random();
            int randomimage = _r.Next(files.Length);
            filename = "/img/" + countrycode + "/" + Path.GetFileName(files[randomimage]);
        }

    }
    if (filename.Length == 0)
    {
        string[] files = Directory.GetFiles(Server.MapPath("~/img/none/"), "*.jpg");
        Random _r = new Random();
        int randomimage = _r.Next(files.Length);
        filename = "/img/none/" + Path.GetFileName(files[randomimage]);
    }
    Literal1.Text = filename;
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51864262

复制
相关文章
Cloudflare 的 Argo Tunnel 使用
本文章首发于语雀! 通过各种高科技功能同步到Hajeekn 的博客 Cloudflare 是一个知名的老牌 CDN 厂商了,相信很多人应该都知道,今天我在逛 Cloudflare の Docs 时发现了个 Argo Tunnel 试用了一下,还可以,并且免费,于是水写了一篇文章介绍给大家
FloatSheep
2022/04/25
3.3K0
Cloudflare 的 Argo Tunnel 使用
选择文件选择文件夹
if (string.IsNullOrEmpty(folderInitialDirectory)) { folderInitialDirectory = FileAndFolderOperation.Instance.GetUserDocumentFolder(); }
全栈程序员站长
2022/09/20
1.7K0
使用PHP抓取Bing每日图像并为己所用
Bing搜索的首页每天都会推送一张很漂亮的图片,把它保存下来,当做电脑桌面或是自己的网站背景图还不是美滋滋…… 今天的bing图片是这样的 既然要抓取这张图片,首先就得弄清这张图是从
夏时
2018/06/26
1.5K0
OpenWRT使用cloudflare DDNS
因为某些原因,需要用到某些特方法链接到家里的电脑上,但是没有ddns的话,动态ip很出现很麻烦的事情。
小N同学
2022/11/29
19.1K0
OpenWRT使用cloudflare DDNS
使用 Cloudflare 加速你的网站
CloudFlare 为我们提供了免费的 CDN 服务,并拥有全球各地的优秀节点,作为国外比较优秀的 CDN 服务商。
OhhhCKY
2022/12/28
5K0
使用 Cloudflare 加速你的网站
使用cloudflare加持你的网站
简单地说,CloudFlare就是通过基于反向代理的内容分发网络(Content Delivery Network,CDN)及分布式域名解析服务(Distributed Domain Name Server),帮助受保护站点抵御包括拒绝服务攻击在内的大多数网络攻击,确保该网站长期在线,同时提升网站的性能、加载速度以改善访客体验。
lestat
2018/10/17
6.1K0
CloudFlare使用CNAME/IP接入CDN
CloudFlare的免费CDN是最著名的,如果你的网站经常被攻击,那么CloudFlare是你很好都解决方案,但是你必须使用CloudFlare的dns,你无法分运营商解析,而且全部都是由两个ipv4和ipv6,实际体验不大好,和可以利用来实现自选IP(最后提供推荐的IP)
小狐狸说事
2023/01/09
2.7K0
使用Cloudflare免费防御DDOS
据Cloudflare官方账号表示,Cloudflare在包含免费计划的所有服务计划中提供的DDoS防御服务均不计容量且不设上限。Cloudflare的全球网络现已遍及90多个国家/地区,拥有37Tbps的网络容量,并在全球200个城市部署数据中心。Cloudflare的每一个数据中心均启用了完整的DDoS缓解功能。
李洋博客
2021/11/08
3.6K0
使用Cloudflare免费防御DDOS
如何使用Python选择性地删除文件夹中的文件?
问题描述:在一个文件夹中,有着普通文件以及文件夹,那么我们如何做到删除全部文件夹而不删除文件呢?
活用数据
2019/06/03
13.4K0
如何使用Python选择性地删除文件夹中的文件?
WPF 使用 Pandoc 把 Markdown 转 Docx 选择文件获取文件的文件夹使用资源管理器打开文件夹选择指定文件
本文告诉大家如何通过 WPF 使用 Pandoc 把 Markdown 转 Docx 文件
林德熙
2019/03/13
1.3K0
WPF 使用 Pandoc 把 Markdown 转 Docx
            选择文件获取文件的文件夹使用资源管理器打开文件夹选择指定文件
为什么要选择使用TypeScript,看了就知道原因!
TypeScript 是 JavaScript 的超集(超集:包含关系,比如 C++ 是 C 的超集,TypeScript 是由 JavaScript 发展而来)。
张晓衡
2019/09/17
1.6K0
为什么要选择使用TypeScript,看了就知道原因!
为什么要选择React
无意比较几大框架的优劣,但是要入手一门框架,对于刚学习的同学而言,学谁的价值最高?是一个绕不开的问题。
用户6901603
2020/07/27
1.2K0
为什么要选择React
Cloudflare免费SSL配置使用教程
这里是接上一篇'Cloudflare免费CDN配置使用教程'写的免费SSL配置教程 如果没看上一篇的话,可能有些地方会有问题
氢云
2023/03/31
14.6K0
Cloudflare免费SSL配置使用教程
Cloudflare免费CDN配置使用教程
废话不多说,直接开整 PS:如果你是国内服务器,使用该CDN,可能会拖慢网站速度 CDN配置教程 打开Cloudflare官网: https://www.cloudflare-cn.com/ 点击右上角注册账号 等待几秒后会进入注册页面,点击右上角语言,选择简体中文 注册成功后会向邮箱发送一封邮件,点进邮件中的链接验证一下就ok了,若没收到,可以翻翻垃圾箱 登陆成功后进入网站首页,点击网站—>添加站点 输如你的网站域名,然后点击添加站点 PS:只能输入根域名,如果输入二级域名会报错
氢云
2023/03/31
9.8K0
Cloudflare免费CDN配置使用教程
使用Nodejs抓取<<文心雕龙>>
/** * Created by Administrator on 2017/11/3. * 获取文心雕龙 保存到数据库 */ let superagent = require("superagent"); let cheerio = require("cheerio"); let async = require("async"); let mongoose = require('mongoose'); let Schema = require('mongoose').Schema; const
拿我格子衫来
2022/01/23
1.4K0
Flutter图像选择插件
官方的图像选择插件是image_picker,这个插件简单易用,但是单选的,而且没有预览功能,因为想实现像微信多选及缩放预览功能,所以放弃它,试用muti_image_picker,用上去还不错,但刚开始错误认为不支持缩放预览功能,所以又放弃,改用photo,它能满足我“多选及缩放预览功能”功能,但是它有很多小问题,同时又不怎么维护,思前想后还是换回muti_image_picker,细读文档发现默认不开启缩放预览功能,但实际支持的!
IT晴天
2020/07/30
1.6K0
Cloudflare
Cloudflare对自己的定义是基础设施、应用程序和团队的工作基础。Cloudflare网络是全球最大的网络之一,为全球数百万WEB资产提供服务。
ianzhi
2023/10/19
5290
免费使用cloudflare搭建OpenAI的接口代理
由于GFW以及OpenAI官方的封禁,我们在国内服务器是访问不通OpenAI的官方接口的
唯一Chat
2023/07/21
4.3K1
免费使用cloudflare搭建OpenAI的接口代理
点击加载更多

相似问题

PHP抓取使用cloudflare的网站

38

抓取:使用CloudFlare抓取网站时出现503错误

11

Vue Node.js从请求头提取cf-ipcountry cloudflare

272

使用Python从cloudflare站点抓取信息?

117

抓取页面,获取图像,并生成每页抓取图像的文件夹

127
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档