精华内容
下载资源
问答
  • 2017-12-08 16:55:33

    1、定义一个存储百度API返回json结果对象的类:

    注:解析json字符串的方式有很多,无需局限于本文这一种。

        public class baidu_location
        {
            [Serializable]
            //存储百度定位API返回结果类
            public class AddressForQueryIPFromBaidu {
                public string Address { get; set; }
                public Content Content { get; set; }
                public string Status { get; set; }
            }
            [Serializable]
            public class Content {
                public string Address { get; set; }
                public Address_Detail Address_Detail { get; set; }
                public Point Point { get; set; }
            }
            [Serializable]
            public class Address_Detail {
                public string City { get; set; }
                public string City_Code { get; set; }
                public string District { get; set; }
                public string Province { get; set; }
                public string Street { get; set; }
                public string Street_Number { get; set; }
            }
            [Serializable]
            public class Point {
                public string X { get; set; }
                public string Y { get; set; }
            }
        }

    2、定位方法函数:

            public static baidu_location.AddressForQueryIPFromBaidu GetAddressFromIP()
            {
                string baiduKey = "";//值为自己申请的ak值,填进去即可
                string url = "http://api.map.baidu.com/location/ip?ak=" + baiduKey + "&coor=bd09ll";
                try
                {
                    HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
                    HttpWebResponse response = (HttpWebResponse)request.GetResponse();
    
                    System.IO.Stream responseStream = response.GetResponseStream();
                    System.IO.StreamReader sr = new System.IO.StreamReader(responseStream, System.Text.Encoding.GetEncoding("utf-8"));
                    string responseText = sr.ReadToEnd();
                    sr.Close();
                    sr.Dispose();
                    responseStream.Close();
                    string jsonData = responseText;
                    
                    baidu_location.AddressForQueryIPFromBaidu addressForQueryIPFromBaidu = JsonConvert.DeserializeObject<baidu_location.AddressForQueryIPFromBaidu>(jsonData);
                    if(Convert.ToInt32(addressForQueryIPFromBaidu.Status)==0)
                        return addressForQueryIPFromBaidu;
                    else
                    {
                        //根据需求,参考官方文档可以添加更多判断项
                        MessageBox.Show("定位失败");
                        return null;
                        
                    }
                }
                catch (Exception e) {
                    //MessageBox.Show("error occured when get location from ip:"+e.ToString());
                    MessageBox.Show("定位失败,出现异常");
                    return null;
                }
            }

    3、ak申请方法:

    1.百度地图API官方文档地址:

    http://lbsyun.baidu.com/index.php?title=webapi/ip-api
    2.在服务接口文档目录下有一个请求参数表格,ak参数含义选项下有API控制台可以点击,点击进去即可申请,里面介绍比较清楚,这里不再赘述。

    3.如无特殊要求,选择服务端和ip白名单(0.0.0.0/0)即可

    4.申请完之后将ak填到定位函数里

    4、调用实例:

                baidu_location.AddressForQueryIPFromBaidu location_msg = Method.GetAddressFromIP();
                if (location_msg == null)
                    msg_content.location = "";
                else
                    msg_content.location = location_msg.Content.Address_Detail.Province + location_msg.Content.Address_Detail.City;

    中间如有缺少类库引用可以自己添加或参考我之前的博客,也可留言。

    本文代码或有不足,中间可根据自己需求进行代码更改。


    更多相关内容
  • 基于百度AI开放平台,用winform写的一个图片识别文字demo 需要引入Baidu.AI动态库 百度ORC 效果 文字识别 var apiKey = "F--------------------X"; //自己申请的key var secretKey = "H----------------------";...

    基于百度AI开放平台,用winform写的一个图片识别文字demo
    需要引入Baidu.AI动态库
    demo链接
    百度ORC
    在这里插入图片描述
    效果
    在这里插入图片描述

    文字识别

     var apiKey = "F--------------------X"; //自己申请的key
      var secretKey = "H----------------------"; //自己申请的key
      
      Ocr client = new Ocr(apiKey, secretKey)
        {
                Timeout = 30000//延时时间
       };
    //本地图片识别文字
    var image = File.ReadAllBytes("图片文件路径");
    	// 调用通用文字识别, 图片参数为本地图片,可能会抛出网络等异常,请使用try/catch捕获
    	var result = client.GeneralBasic(image);
    	Console.WriteLine(result);
    	// 如果有可选参数
    	var options = new Dictionary<string, object>{
    	    {"language_type", "CHN_ENG"},
    	    {"detect_direction", "true"},
    	    {"detect_language", "true"},
    	    {"probability", "true"}
    	};
    	// 带参数调用通用文字识别, 图片参数为本地图片
    	result = client.GeneralBasic(image, options);
    
    //网络图片识别
     var url = "https//www.x.com/sample.jpg";
    	// 调用通用文字识别, 图片参数为远程url图片,可能会抛出网络等异常,请使用try/catch捕获
    	var result = client.GeneralBasicUrl(url);
    	Console.WriteLine(result);
    	// 如果有可选参数
    	var options = new Dictionary<string, object>{
    	    {"language_type", "CHN_ENG"},
    	    {"detect_direction", "true"},
    	    {"detect_language", "true"},
    	    {"probability", "true"}
    	};
    	// 带参数调用通用文字识别, 图片参数为远程url图片
    	result = client.GeneralBasicUrl(url, options);
    
    通用文字识别 请求参数详情
    参数名称是否必选类型可选值范围默认值说明
    imagebyte[]二进制图像数据
    urlstring图片完整URL,URL长度不超过1024字节,URL对应的图片base64编码后大小不超过4M,最短边至少15px,最长边最大4096px,支持jpg/png/bmp格式,当image字段存在时url字段失效
    language_typestringCHN_ENG
    ENG
    POR
    FRE
    GER
    ITA
    SPA
    RUS
    JAP
    KOR
    CHN_ENG识别语言类型,默认为CHN_ENG。可选值包括:
    - CHN_ENG:中英文混合;
    - ENG:英文;
    - POR:葡萄牙语;
    - FRE:法语;
    - GER:德语;
    - ITA:意大利语;
    - SPA:西班牙语;
    - RUS:俄语;
    - JAP:日语;
    - KOR:韩语;
    detect_directionstringtrue
    false
    false是否检测图像朝向,默认不检测,即:false。朝向是指输入图像是正常方向、逆时针旋转90/180/270度。可选值包括:
    - true:检测朝向;
    - false:不检测朝向。
    detect_languagestringtrue
    false
    false是否检测语言,默认不检测。当前支持(中文、英语、日语、韩语)
    probabilitystringtrue
    false
    是否返回识别结果中每一行的置信度
    通用文字识别 返回数据参数详情
    字段必选类型说明
    directionnumber图像方向,当detect_direction=true时存在。
    - -1:未定义,
    - 0:正向,
    - 1: 逆时针90度,
    - 2:逆时针180度,
    - 3:逆时针270度
    log_idnumber唯一的log id,用于问题定位
    words_result_numnumber识别结果数,表示words_result的元素个数
    words_resultarray定位和识别结果数组
    +wordsstring识别结果字符串
    probabilityobject行置信度信息;如果输入参数 probability = true 则输出
    +averagenumber行置信度平均值
    +variancenumber行置信度方差
    +minnumber行置信度最小值
    展开全文
  • 车牌识别系统调用百度API,源码,C#版本,内置百度开发者账号 和key
  • C# 10分钟完成百度人脸识别——入门篇 今天我们来盘一盘人脸注册、人脸识别等相关操作,这是一个简单入门教程。 话不多说,我们进入主题: 完成人脸识别所需的步骤: 注册百度账号api,创建自己的应用; 创建vs...

    C# 百度人脸识别——入门篇

    今天我们来盘一盘人脸注册、人脸识别等相关操作,这是一个简单入门教程。

    话不多说,我们进入主题:


    完成人脸识别所需的步骤:

    1. 注册百度账号api,创建自己的应用;
    2. 创建vs控制台应用程序,引入动态链接库;
    3. 编写代码调试,效果图查看;
    4. 总结。

     

    1、注册百度账号api,创建自己的应用 

    注册地址: https://login.bce.baidu.com/

     输入用户名、密码、手机号完成注册

     

    注册登录之后,在“产品服务” 菜单下找到人脸识别 ,如下图: 

     

    点击去创建自己的应用名称,其实最主要的就是 API_key  和 Secret_key

    有了这些就可以进一步去看 百度提供的SDK 文档了。

    这是百度的SDK地址:http://ai.baidu.com/sdk

    选择自己喜欢的开发语言进行研究, 里面文档很详细, 下载中有Demo 

    本人采用的是C# 进行研究。

    参考地址:http://ai.baidu.com/docs#/Face-Csharp-SDK/top


     

    2、创建vs控制台应用程序,引入动态链接库

    创建控制台应用程序,命名为FaceRecognition,

    然后引用动态链接库(安装人脸SDK),我用的是vs2017,使用的是方法一。

    方法一:使用Nuget管理依赖 (推荐)

    在NuGet中搜索 Baidu.AI,安装最新版即可。

    packet地址 https://www.nuget.org/packages/Baidu.AI/

    方法二:下载安装

    人脸 C# SDK目录结构

    Baidu.Aip
        ├── net35
        │   ├── AipSdk.dll             // 百度AI服务 windows 动态库
        │   ├── AipSdk.xml             // 注释文件
        │   └── Newtonsoft.Json.dll    // 第三方依赖
        ├── net40
        ├── net45
        └── netstandard2.0
            ├── AipSdk.deps.json
            └── AipSdk.dll
    

    如果需要在 Unity 平台使用,可引用工程源码自行编译。

    安装

    1.在官方网站下载C# SDK压缩工具包。

    2.解压后,将 AipSdk.dll 和 Newtonsoft.Json.dll 中添加为引用。


     

    3、编写代码调试,效果图查看

    • 注册人脸
    • 识别人脸

    首先我们准备一张能够识别人脸的图片,放到公共平台,如果百度云盘,然后分享出去,复制图片地址。

    注册人脸:

    在Program.cs里面编写代码

     

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    
    namespace FaceRecognition
    {
        class Program
        {
            static void Main(string[] args)
            {
                // 设置APPID/AK/SK
                var API_KEY = "XFPA49myCG7S37XP1DxjLbXF";                   //你的 Api Key
                var SECRET_KEY = "ZvZKigrixMLXNZOLmkrG6iDx9QprlGuT";        //你的 Secret Key
                var client = new Baidu.Aip.Face.Face(API_KEY, SECRET_KEY);
                client.Timeout = 60000;  // 修改超时时间
    
    
                //取决于image_type参数,传入BASE64字符串或URL字符串或FACE_TOKEN字符串
                //你共享的图片路径(点击路径可直接查看图片)
                var image = "https://thumbnail0.baidupcs.com/thumbnail/32f3cc8f022839a4dbf6b9f9cca76ce8?fid=3145591938-250528-218900036170682&time=1550282400&rt=sh&sign=FDTAER-DCb740ccc5511e5e8fedcff06b081203-sTBqvQbbBy3n5SDQfbtjNwjlSHg%3D&expires=8h&chkv=0&chkbd=0&chkpc=&dp-logid=1077356968076791248&dp-callid=0&size=c710_u400&quality=100&vuk=-&ft=video";
                var imageType = "URL";
    
    
                //注册人脸
                var groupId = "group1";
                var userId = "user1";
                // 调用人脸注册,可能会抛出网络等异常,请使用try/catch捕获
                var result = client.UserAdd(image, imageType, groupId, userId);
                Console.WriteLine(result);
                // 如果有可选参数
                var options = new Dictionary<string, object>{
                            {"user_info", "user's info"},
                            {"quality_control", "NORMAL"},
                            {"liveness_control", "LOW"}
                        };
                // 带参数调用人脸注册
                result = client.UserAdd(image, imageType, groupId, userId, options);
                Console.WriteLine(result);
            }
    
             
        }
    }

     

    运行后,控制台打印成功与否,百度api控制台查看是否注册成功。

    控制台效果图:

    百度api控制台查看效果:

     

     很显然,我们注册人脸成功,接下来我们进行人脸识别,我们使用注册过的图片和未注册过的图片进行验证。

     

    识别人脸:

    同样在Program.cs里面编写代码,我们把之前的代码注释掉就行,如下:

     

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    
    namespace FaceRecognition
    {
        class Program
        {
            static void Main(string[] args)
            {
                // 设置APPID/AK/SK
                var API_KEY = "XFPA49myCG7S37XP1DxjLbXF";                   //你的 Api Key
                var SECRET_KEY = "ZvZKigrixMLXNZOLmkrG6iDx9QprlGuT";        //你的 Secret Key
                var client = new Baidu.Aip.Face.Face(API_KEY, SECRET_KEY);
                client.Timeout = 60000;  // 修改超时时间
    
    
                //取决于image_type参数,传入BASE64字符串或URL字符串或FACE_TOKEN字符串
                //你共享的图片路径(点击路径可直接查看图片)
                var image = "https://thumbnail0.baidupcs.com/thumbnail/32f3cc8f022839a4dbf6b9f9cca76ce8?fid=3145591938-250528-218900036170682&time=1550282400&rt=sh&sign=FDTAER-DCb740ccc5511e5e8fedcff06b081203-sTBqvQbbBy3n5SDQfbtjNwjlSHg%3D&expires=8h&chkv=0&chkbd=0&chkpc=&dp-logid=1077356968076791248&dp-callid=0&size=c710_u400&quality=100&vuk=-&ft=video";
                var imageType = "URL";
    
    
    
                注册人脸
                //var groupId = "group1";
                //var userId = "user1";
                 调用人脸注册,可能会抛出网络等异常,请使用try/catch捕获
                //var result = client.UserAdd(image, imageType, groupId, userId);
                //Console.WriteLine(result);
                 如果有可选参数
                //var options = new Dictionary<string, object>{
                //            {"user_info", "user's info"},
                //            {"quality_control", "NORMAL"},
                //            {"liveness_control", "LOW"}
                //        };
                 带参数调用人脸注册
                //result = client.UserAdd(image, imageType, groupId, userId, options);
                //Console.WriteLine(result);
    
    
    
                //人脸识别(在注册的人脸库里面进行识别)
                //调用人脸检测,可能会抛出网络等异常,请使用try / catch捕获
                var result = client.Detect(image, imageType);
                Console.WriteLine(result);
                // 如果有可选参数
                var options = new Dictionary<string, object>{
                            {"face_field", "age"},
                            {"max_face_num", 2},
                            {"face_type", "LIVE"}
                        };
                // 带参数调用人脸检测
                result = client.Detect(image, imageType, options);
                Console.WriteLine(result);
    
            }
    
             
        }
    }

     

     

    控制台效果图:

    很显然我们也人脸识别成功了。

     


     

    4、总结 

     我们只是使用控制台做了一个简单的注册和识别,删除和更新也是一样的,可以直接去官网拷贝即可,路径为:http://ai.baidu.com/docs#/Face-Csharp-SDK/3b8dc2e8

     有了这个简单的demo后,我们可以结合摄像头进行注册、识别、更新等操作。

    展开全文
  • 详情见博客:https://blog.csdn.net/HorseRoll/article/details/82800762
  • c#百度OCR图片识别

    2022-04-10 19:20:14
    百度OCR图片识别
  • 2017c#百度语音识别

    2017-04-16 10:32:16
    一个c#百度识别的Mode
  • C#百度OCR demo

    2018-06-29 15:40:13
    使用详见我的博客:https://blog.csdn.net/HorseRoll/article/details/80857491
  • 百度模拟点击工具是模拟用户输入关键字,模拟搜索,找到对应的网页,通过设置访问深度,随机对目标网站的页面进行访问,在不同页面停留一个随机的时间,最大程度上模拟人工搜索网页,提供网站的百度排名 ...
  • C# 百度文字识别Demo

    千次阅读 热门讨论 2018-09-13 16:48:58
    //"百度云应用的AK"; private static readonly string clientSecret = "替换为自己的SK"; //"百度云应用的SK"; /// /// 图片识别 /// /// <param name="filePath"></param> /// <returns></returns> ...

    效果图:

    下载地址:

    可执行文件:https://download.csdn.net/download/a497785609/10664921 

    (只是使用程序功能,下载这个即可,绿色免安装)

    程序源代码:https://download.csdn.net/download/a497785609/10876843

    (需要参考源码,下载这个)

    核心代码:

    using System;
    using System.Collections.Generic;
    using System.Drawing;
    using System.Drawing.Imaging;
    using System.IO;
    using System.Net;
    using System.Text;
    using System.Text.RegularExpressions;
    using System.Web;
    
    namespace RC.Software.OCR
    {
        public class BaiduHelper
        {
            private static readonly string clientId = "替换为自己的AK"; //"百度云应用的AK";
            private static readonly string clientSecret = "替换为自己的SK"; //"百度云应用的SK";
    
            /// <summary>
            ///     图片识别
            /// </summary>
            /// <param name="filePath"></param>
            /// <returns></returns>
            public static string Ocr(string filePath)
            {
                try
                {
                    string img = HttpUtility.UrlEncode(GetBase64FromImage(filePath));
                    string token = GetAccessToken();
                    token = new Regex(
                        "\"access_token\":\"(?<token>[^\"]*?)\"",
                        RegexOptions.CultureInvariant
                        | RegexOptions.Compiled
                        ).Match(token).Groups["token"].Value.Trim();
    
                    //var url = "https://aip.baidubce.com/rest/2.0/ocr/v1/general_basic";
                    string url = "https://aip.baidubce.com/rest/2.0/ocr/v1/accurate_basic";
                    var list = new List<KeyValuePair<string, string>>
                                   {
                                       new KeyValuePair<string, string>("access_token", token),
                                       new KeyValuePair<string, string>("image", img),
                                       new KeyValuePair<string, string>("language_type", "CHN_ENG")
                                   };
                    var data = new List<string>();
                    foreach (var pair in list)
                        data.Add(pair.Key + "=" + pair.Value);
                    string json = HttpPost(url, string.Join("&", data.ToArray()));
    
                    var regex = new Regex(
                        "\"words\": \"(?<word>[\\s\\S]*?)\"",
                        RegexOptions.CultureInvariant
                        | RegexOptions.Compiled
                        );
                    var str = new StringBuilder();
                    foreach (Match match in regex.Matches(json))
                    {
                        str.AppendLine(match.Groups["word"].Value.Trim() );
                    }
                    return str.ToString();
                }
                catch (Exception ex)
                {
                    return ex.Message;
                }
            }
    
            public static string GetBase64FromImage(string imagefile)
            {
                string base64String;
                try
                {
                    byte[] arr;
                    using (var bmp = new Bitmap(imagefile))
                    {
                        using (var ms = new MemoryStream())
                        {
                            bmp.Save(ms, ImageFormat.Jpeg);
                            arr = new byte[ms.Length];
                            ms.Position = 0;
                            ms.Read(arr, 0, (int)ms.Length);
                            ms.Close();
                        }
                    }
                    base64String = Convert.ToBase64String(arr);
                }
                catch (Exception)
                {
                    throw new Exception("Something wrong during convert!");
                }
                return base64String;
            }
    
            public static string GetAccessToken()
            {
                string url = "https://aip.baidubce.com/oauth/2.0/token";
                var list = new List<KeyValuePair<string, string>>
                               {
                                   new KeyValuePair<string, string>("grant_type", "client_credentials"),
                                   new KeyValuePair<string, string>("client_id", clientId),
                                   new KeyValuePair<string, string>("client_secret", clientSecret)
                               };
                var data = new List<string>();
                foreach (var pair in list)
                    data.Add(pair.Key + "=" + pair.Value);
                return HttpGet(url, string.Join("&", data.ToArray()));
            }
    
            public static string HttpGet(string url, string data)
            {
                var request = (HttpWebRequest)WebRequest.Create(url + (data == "" ? "" : "?") + data);
                request.Method = "GET";
                request.ContentType = "text/html;charset=UTF-8";
                using (var response = (HttpWebResponse)request.GetResponse())
                {
                    Stream stream = response.GetResponseStream();
                    string s = null;
                    if (stream != null)
                    {
                        using (var reader = new StreamReader(stream, Encoding.GetEncoding("utf-8")))
                        {
                            s = reader.ReadToEnd();
                            reader.Close();
                        }
                        stream.Close();
                    }
                    return s;
                }
            }
    
            public static string HttpPost(string url, string data)
            {
                var request = (HttpWebRequest)WebRequest.Create(url);
                request.Method = "POST";
                request.ContentType = "application/x-www-form-urlencoded";
                request.ContentLength = Encoding.UTF8.GetByteCount(data);
                Stream stream = request.GetRequestStream();
                var writer = new StreamWriter(stream, Encoding.GetEncoding("gb2312"));
                writer.Write(data);
                writer.Close();
    
                using (var response = (HttpWebResponse)request.GetResponse())
                {
                    Stream res = response.GetResponseStream();
                    if (res != null)
                    {
                        var reader = new StreamReader(res, Encoding.GetEncoding("utf-8"));
                        string retString = reader.ReadToEnd();
                        reader.Close();
                        res.Close();
                        return retString;
                    }
                }
                return "";
            }
        }
    }

    程序下载:

    https://download.csdn.net/download/a497785609/10664921

    展开全文
  • C#百度地图API获取经纬度所在地理位置,需要替换百度地图的AK,代码亲测可用。
  • C# 百度地图

    2015-04-28 17:50:46
    C# 百度地图开发学习
  • 适合C#、WPF开发人员
  • C#百度OCR-身份证图片识别提取信息

    千次阅读 热门讨论 2018-09-21 15:09:36
    之前写了一篇利用百度OCR进行本地和网络图片识别文字的文章,点击查看。今天补充识别身份证图片的文章及demo 源码地址:https://download.csdn.net/download/horseroll/10922409 效果图展示: 请求参数: ...
  • C# 百度语音合成

    千次阅读 2015-07-16 12:02:15
    语音合成及TTS,我们尝试使用百度的语音合成技术 不过我发现 有一种缺点在于没有离线包让我有些很不舒服,可能是在线版的 原因微软语音识别技术在Windows 2000是默认集成在系统组件中 或许我们不必去寻找新的语音...
  • c# 百度语音合成

    千次阅读 2015-11-09 17:42:23
    c# 语音合成 百度
  • 修复
  • c#调用流程如下 首先,需要在百度智能云平台领取免费资源,并创建应用,此时会得到AppID,API Key和Secret Key这三个参数,在调用该应用时需要使用这三个参数。 在VS2019中,选择项目,管理NuGet程序包,搜索并...
  • 详情请见我的博客:https://blog.csdn.net/HorseRoll/article/details/80857491
  • C#百度OCR-本地和网络图片识别文字

    千次阅读 2019-01-10 12:01:56
    此种方法用的是百度接口,效果是可以,但是免费版一个月有使用上限,并且只能识别中英文,要想一直免费使用,突破使用次数,并且能识别韩日等其他语言的,可以参考我另一篇博客:C#用Tesseract进行OCR识别,可识别...
  • c#百度贴吧采集源码

    2018-12-29 14:02:36
    c#百度贴吧采集源码
  • 使用C# 开发的百度图片下载器,根据对应代码添加相应的控件即可实现功能,代码亲测能运行
  • C# 10分钟完成百度翻译(机器翻译)——入门篇1、注册百度账号api,创建自己的Api应用2、创建vs控制台应用程序3、编写程序并调试post请求工具类文本翻译-通用版文本翻译-词典版总结参考文献 我们之前基于百度ai开发...
  • 欢迎您成为我的读者,希望这篇文章能...首先仔细阅读百度地图的SDK信息,未提供在C#端的SDK信息,那么只能通过在WebBrowser中是通过加载网页html的形式来显示的。 此时用到的百度地图JavaScript API v3.0,地址如下: ...
  • c#实现百度语音识别

    2018-12-13 18:16:28
    通过借助百度云平台,实现对语音的识别、作者亲测可用;真的炒鸡靠谱!!如果不能实现可以联系我~
  • 1.开通百度翻译服务 在官网 百度翻译开放平台 开通通用翻译API 2.查看ID和Key 在管理控制台 -> 开发者信息 -> 申请信息栏中记下ID和密钥 3.使用官网Demo 将Demo中的appID和secretKey更改为自己的,运行后...
  • C#百度天气接口完美对接

    千次阅读 2018-06-14 16:38:32
    public static void Weather(string cityName)StringURL=string.Format(@"http://api.map.baidu.com/telematics/v3/weather? output=...amp;ak=6tYzTvGZSOpYB5Oc2YGGOKt8&amp;location={0}", cit...
  • 兔费百度网盘批量转存,在这里下载 1.浏览器登录安全 2.一键转存 3.无需安装7KB 4.网上同类软件全部失效 使用说明:输入要转存的地址,点【全部转存到根目录】。 以下为技术细节: 原理:对html自动操作。 一键转存 ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 50,262
精华内容 20,104
关键字:

c# 百度

c# 订阅