// http://image.baidu.com/search/acjson?tn=resultjson_com&ipn=rj&ct=201326592&fp=result&queryWord=mm&cl=2&lm=-1&ie=utf-8&oe=utf-8&st=-1&ic=0&word=mm&face=0&istype=2&nc=1&pn=120&rn=60&gsm=3c&1521787928351=&callback=angular.callbacks._0

using System;

using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Text.RegularExpressions;
namespace WpfApplication1
{
    public class Utils
    {
        public static string baidtu_uncomplie(string str)
        {   //ippr_z2C$qAzdH3FAzdH3Ft429_z&e3B17tpwg2_z&e3Bv54AzdH3F7rs5w1fAzdH3Ftpj4AzdH3Fda89acAzdH3FdnAzdH3Fda89acdn8mc099_GWcwo_z&e3B3rj2
            string[] c = { "_z2C$q", "_z&e3B", "AzdH3F" };
            Dictionary<String, String> d = new Dictionary<string, string>();
            d.Add("w", "a"); d.Add("k", "b"); d.Add("v", "c"); d.Add("1", "d"); d.Add("j", "e"); d.Add("u", "f"); d.Add("2", "g");
            d.Add("i", "h"); d.Add("t", "i"); d.Add("3", "j"); d.Add("h", "k"); d.Add("s", "l"); d.Add("4", "m"); d.Add("g", "n");
            d.Add("5", "o"); d.Add("r", "p"); d.Add("q", "q"); d.Add("6", "r"); d.Add("f", "s"); d.Add("p", "t"); d.Add("7", "u");
            d.Add("e", "v"); d.Add("o", "w"); d.Add("8", "1"); d.Add("d", "2"); d.Add("n", "3"); d.Add("9", "4"); d.Add("c", "5");
            d.Add("m", "6"); d.Add("0", "7"); d.Add("b", "8"); d.Add("l", "9"); d.Add("a", "0"); d.Add("_z2C$q", ":"); d.Add("_z&e3B", "."); d.Add("AzdH3F", "/");
            if (!(str != null) || str.Contains("http"))
                return str;
            string j = str;
            foreach (string s in c)
            {
                j = j.Replace(s, d[s]);
            }
            string[] arr = SplitByLen(j, 1);
            for (int i = 0; i < arr.Length; i++)
            {
                try
                {
                    if (Regex.IsMatch(d[arr[i]], @"^[a-w\d]+$"))
                    {
                        arr[i] = d[arr[i]];
                    }
                }
                catch     //不匹配的不做处理:   ".   :   /"
                {
                }
            }
            string url = string.Join("", arr);
            return url;
        }
        //字符串按长度截图
        private static string[] SplitByLen(string str, int separatorCharNum)
        {
            if (string.IsNullOrEmpty(str) || str.Length <= separatorCharNum)
            {
                return new string[] { str };
            }
            string tempStr = str;
            List<string> strList = new List<string>();
            int iMax = Convert.ToInt32(Math.Ceiling(str.Length / (separatorCharNum * 1.0)));//获取循环次数    
            for (int i = 1; i <= iMax; i++)
            {
                string currMsg = tempStr.Substring(0, tempStr.Length > separatorCharNum ? separatorCharNum : tempStr.Length);
                strList.Add(currMsg);
                if (tempStr.Length > separatorCharNum)
                {
                    tempStr = tempStr.Substring(separatorCharNum, tempStr.Length - separatorCharNum);
                }
            }
            return strList.ToArray();
        }
        //调用:Utils.baidtu_uncomplie("ippr_z2C$qAzdH3FAzdH3Ft429_z&e3B17tpwg2_z&e3Bv54AzdH3F7rs5w1fAzdH3Ftpj4AzdH3Fda89acAzdH3FdnAzdH3Fda89acdn8mc099_GWcwo_z&e3B3rj2")
    }
}

c# 解析百度图片搜索结果json中objURL图片原始地址的更多相关文章

  1. 找出html中的图片、包括css中的图片,读出图片数据转换为base64数据

    <?php echo ">> 图片的地址,css里面的要打单引号\r\n"; echo ">> 相同的图片,使用css实现图片地址只出现一次 ...

  2. 根据图片名字在drawable中得到图片

    int imageId = context.getResources().getIdentifier("图片的名字","drawable", "包名& ...

  3. firework压缩图片类似于GD库中压缩图片的思路

    1.先建一张空白图片, 2.再把需要压缩的图片拖上去, 3.符合画布 4.调到需要的大小

  4. [MVC]如何删除文章内容中的图片

    1.实现代码 if (!string.IsNullOrWhiteSpace(entity.Content)) { var immgList = TextHelper.GetImgUrlList(ent ...

  5. 将图片插入到excel中

    static void Main(string[] args) { //说明:插入图片 //1.创建EXCEL中的Workbook IWorkbook myworkbook = new HSSFWor ...

  6. vue.js中引入图片

    vue中引入图片 前言:vue中引入图片时,会显示不出来,除非在css中引入.而在template中或者js动态引入时,会显示不出图片. 解决一 图片通过后端返回引入网络图片路径即可. <div ...

  7. 百度Ueditor编辑器取消多图上传对话框中的图片搜索

    百度Ueditor确实是一个非常强悍的编辑器,功能强大!但是实际开发需求复杂,总会有各种不符合要求的,比如想要取消多图上传的“图片搜索”选项卡(这个图片搜索真心难用)! 以ueditor 1.4.3为 ...

  8. js中eval详解,用Js的eval解析JSON中的注意点

    先来说eval的用法,内容比较简单,熟悉的可以跳过eval函数接收一个参数s,如果s不是字符串,则直接返回s.否则执行s语句.如果s语句执行结果是一个值,则返回此值,否则返回undefined. 需要 ...

  9. asp自动解析网页中的图片地址,并将其保存到本地服务器

    程序实现功能:自动将远程页面的文件中的图片下载到本地. 程序代码 <% '将本文保存为 save2local.asp '测试:save2local.asp?url=http://ent.sina ...

随机推荐

  1. Android 系统中运行jar文件

    在android系统中运行jar操作步骤: 1.       打包编译jar包 2.       将jar包导入android设备中 adb push test.jar  /data/local/tm ...

  2. Android 编程下的 TraceView 简介及其案例实战

    TraceView 是 Android 平台配备一个很好的性能分析的工具.它可以通过图形化的方式让我们了解我们要跟踪的程序的性能,并且能具体到 method.详细内容参考:Profiling with ...

  3. MemSQL 架构初探

    MemSQL 自称是最快的内存数据库.目前已发布了2.5版本. MemSQL 具有以下特点 1 高效的并行,尤其是分布式的MemSQL. 2 高效的并发,采用lock-free的内存数据结构skip ...

  4. Finding the source of signals on Linux with strace, auditd, or systemtap

    inux and UNIX® like operating systems commonly use signals to communicate between processes. The use ...

  5. Mybatis 学习笔记

    可学习渠道  MYBATIS 入门教程 1. Mybatis 介绍 Mybatis 是 sqlmap 技术,对 JDBC 进行封装,将大量的 SQL 语句外部化. 平时我们都用JDBC访问数据库,除了 ...

  6. SDN 第二次上机作业

    SDN第二次上机作业 1.控制器floodlight所示可视化图形拓扑的截图,及主机拓扑连通性检测截图 拓扑 连通性 2.利用字符界面下发流表,使得'h1'和'h2' ping 不通 流表截图 连通性 ...

  7. Django商城项目笔记No.5用户部分-注册接口-短信验证码

    Django商城项目笔记No.4用户部分-注册接口-短信验证码 短信验证码也保存在redis里(sms_code_15101234567) 在views中新增SMSCodeView类视图,并且写出步骤 ...

  8. 一篇关于介绍php的几个user 认证相关的几个包

    http://kodeinfo.com/post/laravel-authentication-packages LARAVEL AUTHENTICATION PACKAGES By Imran Iq ...

  9. Java中Map根据键值(key)或者值(value)进行排序实现

    我们都知道,java中的Map结构是key->value键值对存储的,而且根据Map的特性,同一个Map中 不存在两个Key相同的元素,而value不存在这个限制.换句话说,在同一个Map中Ke ...

  10. Nginx实践--安全升级

    之前写了一些nginx的东西,这次继续,主要使用upstream针对proxy_pass转发做个处理 一般情况下我们在使用nginx反向代理的时候,都是如下配置, ... location /api ...