精华内容
下载资源
问答
  • 如何根据URL链接获取网页标题

    千次阅读 2015-04-07 10:17:20
    - (void)getUrlTitleWithUrlContent:(NSString *)urlString { NSString* cleanUrlString = [urlString stringByTrimmingCharactersInSet:[NSCharacterSet newlineCharacterSet]]; if([cleanUrlString ra
    - (void)getUrlTitleWithUrlContent:(NSString *)urlString
    {
        NSString* cleanUrlString = [urlString stringByTrimmingCharactersInSet:[NSCharacterSet newlineCharacterSet]];
        
       if([cleanUrlString rangeOfString:@"http://" options:NSCaseInsensitiveSearch].location == NSNotFound
          && [cleanUrlString rangeOfString:@"https://" options:NSCaseInsensitiveSearch].location == NSNotFound)
       {
           cleanUrlString = [@"http://" stringByAppendingString:cleanUrlString];
       }
        
        __weak ASIHTTPRequest *request = [ASIHTTPRequest requestWithURL:[NSURL URLWithString:cleanUrlString]];
        request.defaultResponseEncoding = NSUTF8StringEncoding;//设置默认的编码方式,utf-8
        request.timeOutSeconds = 5;
        [request setCompletionBlock:^{
            NSString* title = @"";
            if(request.responseString != nil)
            {
                NSRange startRange = [request.responseString rangeOfString:@"<title>" options:NSCaseInsensitiveSearch];
                NSRange endRange = [request.responseString rangeOfString:@"</title>" options:NSCaseInsensitiveSearch];//NSCaseInsensitiveSearch:不区分大小写比较
                
                if (startRange.location != NSNotFound
                    && endRange.location != NSNotFound
                    && endRange.location >= startRange.location + startRange.length)
                {
                    NSRange subRange = NSMakeRange(startRange.location + startRange.length, endRange.location - (startRange.location + startRange.length));
                    title  = [request.responseString substringWithRange:subRange];
                    title = [title stringByTrimmingCharactersInSet:[NSCharacterSet newlineCharacterSet]];//去掉换行
                }
            }
        }];
        [request setFailedBlock:^{
            DLog(@"failed ~~~ request.respond = %@",request.responseString);
        }];
        [request startAsynchronous];
    }
    
    可以根据request.responseHeaders中"Content-Type"(或responseString的meta)中看到编码方式,但是由于ASI已经自动帮助我们进行转码了。所以我们不需要自己去针对不同的编码方式进行编码。只需要将responseString中将title截取出来即可。值得注意的是,要提前设置asi request的默认编码格式(UTF-8),否则有可能会出现乱码。
    </pre><pre name="code" class="plain">


    
    
    展开全文
  • 获取url链接后面的参数

    千次阅读 2018-03-19 09:25:27
    //获取链接后面的参数 function regulars(key) { // 获取URL中?之后的字符 var str = location.search; str = str.substring(1, str.length); // 以&amp;分隔字符串,获得类似Source=1这样的元素数组 ...

    //获取链接后面的参数
    function regulars(key) {
    // 获取URL中?之后的字符
    var str = location.search;
    str = str.substring(1, str.length);
    // 以&分隔字符串,获得类似Source=1这样的元素数组
    var arr = str.split(“&”);
    var obj = new Object();
    // 将每一个数组元素以=分隔并赋给obj对象
    for(var i = 0; i < arr.length; i++) {
    var tmp_arr = arr[i].split(“=”);
    obj[decodeURIComponent(tmp_arr[0])] = decodeURIComponent(tmp_arr[1]);
    }
    return obj[key];
    };

    展开全文
  • 获取真实地址的短网址,如果没有,生成一个 思路:将真实地址进行md5加密,并分割生成一个6位的短链接,并保存到xml文件中,当然也可以保存到数据库中。无法实现将短链接反转成真实地址,因为md5的不可逆性。只能...

    提供三个功能:
    根据短网址查找真实地址
    删除短网址
    获取真实地址的短网址,如果没有,生成一个
    思路:将真实地址进行md5加密,并分割生成一个6位的短链接,并保存到xml文件中,当然也可以保存到数据库中。无法实现将短链接反转成真实地址,因为md5的不可逆性。只能根据短链去持久化xml文件中去查找,这样必然会造成效率上的损失。
    测试开销如下(xml文本大约80000行,约15000个短网址,读取速度:308ms,写入速度:314ms)。如果有更好的思路,欢迎留言,我将继续尝试
    ShortUrlUtil.class

    
    public class ShortUrl {
        public static void main(String[] args) {
            String longUrl = "http://www.test.com";
            String shortUrl = "uUN3E3";
            // 转换成的短链接后6位码
           Long start=System.currentTimeMillis();
    //        System.out.println(getLongUrl(shortUrl));
    //        System.out.println(getShortUrl(longUrl));
            System.out.println(deleteUrl(shortUrl));
            Long end=System.currentTimeMillis();
            System.out.println("重写xml结束"+((end-start)));
    
        }
    
        /**
         *根据短网址查找真实地址
         */
        public static  String getLongUrl(String shortUrl){
            String longUrl =getLongUrl(0,shortUrl);
            return  longUrl;
        }
    
        /**
         *根据短网址查找真实地址
         */
        public static  boolean deleteUrl(String shortUrl){
            String longUrl =getLongUrl(0,shortUrl);
            boolean isSuccess=true;
            if(Validate.noNull(longUrl)){
                isSuccess=deleteUrl(0,shortUrl);
            }
            return  isSuccess;
        }
        /**
         *获取真实地址的短网址,如果没有,生成一个
         */
        public static  String getShortUrl(String longUrl){
            String shortUrl=getShortUrl(0,longUrl);
            if(Validate.isNull(shortUrl)){
                final String _shortUrl=shortUrl(longUrl);
                new Thread(
                        new Runnable() {
                            @Override
                            public void run() {
                                createXml(_shortUrl, longUrl);
                            }
                        }
                ).start();
                return  _shortUrl;
            }
            return  shortUrl;
        }
    
        /**
         *将请求生成短网址
         */
        private static String shortUrl(String url) {
            // 可以自定义生成 MD5 加密字符传前的混合 KEY
            String key = "";
            // 要使用生成 URL 的字符
            String[] chars = new String[]{"a", "b", "c", "d", "e", "f", "g", "h",
                    "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t",
                    "u", "v", "w", "x", "y", "z", "0", "1", "2", "3", "4", "5",
                    "6", "7", "8", "9", "A", "B", "C", "D", "E", "F", "G", "H",
                    "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T",
                    "U", "V", "W", "X", "Y", "Z"};
    
            // 对传入网址进行 MD5 加密
            String sMD5EncryptResult = DigestUtils.md5Hex(key + url);
            String hex = sMD5EncryptResult;
            String[] resUrl = new String[4];
            for (int i = 0; i < 4; i++) {
                // 把加密字符按照 8 位一组 16 进制与 0x3FFFFFFF 进行位与运算
                String sTempSubString = hex.substring(i * 8, i * 8 + 8);
                // 这里需要使用 long 型来转换,因为 Inteper .parseInt() 只能处理 31 位 , 首位为符号位 , 如果不用
                // long ,则会越界
                long lHexLong = 0x3FFFFFFF & Long.parseLong(sTempSubString, 16);
                String outChars = "";
                for (int j = 0; j < 6; j++) {
                    // 把得到的值与 0x0000003D 进行位与运算,取得字符数组 chars 索引
                    long index = 0x0000003D & lHexLong;
                    // 把取得的字符相加
                    outChars += chars[(int) index];
                    // 每次循环按位右移 5 位
                    lHexLong = lHexLong >> 5;
                }
    
                // 把字符串存入对应索引的输出数组
                resUrl[i] = outChars;
            }
            return resUrl[0];
        }
    
        private static void createXml(String shortUrl, String Url) {
            //读取xml配置
            String ItemNum ="0";
            File f;
            try {
                String proRootPath =  new File("").getCanonicalPath();
                f = new File(proRootPath+"/src/main/webapp/WEB-INF/url.xml");
                SAXReader reader = new SAXReader();
                Document doc = reader.read(f);
                Element items = doc.getRootElement();
                Element item;
                Element child;
                //生成映射关系
                org.dom4j.Document document= DocumentHelper.createDocument();
                org.dom4j.Element root=document.addElement("ItemInfo");
                org.dom4j.Element ms=root.addElement("ItemStatistics");
                ms.setText("长短链映射关系对照");
                org.dom4j.Element channel=root.addElement("Items");
    
                for (Iterator i = items.elementIterator("Items"); i.hasNext();) {
                    item = (Element) i.next();
                    for (Iterator z = item.elementIterator("Item"); z.hasNext();) {
                        child = (Element) z.next();
                        ItemNum=child.elementText("ItemNum");
                        org.dom4j.Element title=channel.addElement("Item");
                        org.dom4j.Element value1=title.addElement("ItemNum");
                        org.dom4j.Element value2=title.addElement("ItemShort");
                        org.dom4j.Element value3=title.addElement("ItemLong");
                        value1.setText(child.elementText("ItemNum"));
                        value2.setText(child.elementText("ItemShort"));
                        value3.setText(child.elementText("ItemLong"));
                    }
                }
    
                org.dom4j.Element title=channel.addElement("Item");
                org.dom4j.Element value1=title.addElement("ItemNum");
                org.dom4j.Element value2=title.addElement("ItemShort");
                org.dom4j.Element value3=title.addElement("ItemLong");
                value1.setText((Integer.parseInt(ItemNum)+1)+"");
                value2.setText(shortUrl);
                value3.setText(Url);
                XMLWriter writer=new XMLWriter(new FileOutputStream(f), OutputFormat.createPrettyPrint());
                writer.setEscapeText(false);//字符是否转义,默认true
                writer.write(document);
                writer.close();
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    
        private static String getLongUrl(int num, String Url) {
            //读取xml配置
            String longUtl = "";
            File f;
            try {
                String proRootPath = new File("").getCanonicalPath();
                f = new File(proRootPath + "/src/main/webapp/WEB-INF/url.xml");
                SAXReader reader = new SAXReader();
                Document doc = reader.read(f);
                Element items = doc.getRootElement();
                Element item;
                Element child;
                for (Iterator i = items.elementIterator("Items"); i.hasNext(); ) {
                    item = (Element) i.next();
                    for (Iterator z = item.elementIterator("Item"); z.hasNext(); ) {
                        child = (Element) z.next();
                        if(Url.equals(child.elementText("ItemShort"))){
                            longUtl = child.elementText("ItemLong");
                        }
                    }
                }
            } catch (Exception e) {
                e.printStackTrace();
            }
            return longUtl;
        }
        private static boolean deleteUrl(int num, String shortUrl) {
            //读取xml配置
            String longUtl = "";
            File f;
            try {
                String proRootPath = new File("").getCanonicalPath();
                f = new File(proRootPath + "/src/main/webapp/WEB-INF/url.xml");
                SAXReader reader = new SAXReader();
                Document doc = reader.read(f);
                Element items = doc.getRootElement();
                Element item;
                Element child;
                for (Iterator i = items.elementIterator("Items"); i.hasNext(); ) {
                    item = (Element) i.next();
                    for (Iterator z = item.elementIterator("Item"); z.hasNext(); ) {
                        child = (Element) z.next();
                        if(shortUrl.equals(child.elementText("ItemShort"))){
                            System.out.println("111111111");
                            child.getParent().remove(child);
                        }
                    }
                }
                OutputFormat outformat = OutputFormat.createPrettyPrint();
                // xml自身的编码
                outformat.setEncoding(doc.getXMLEncoding());
                outformat.setIndent(true);
                // 将xmlStr输出到目标路径,使用xml文件的头文件编码
                OutputStream out = new FileOutputStream(f);
                XMLWriter writer = new XMLWriter(out, outformat);
                // 是否转义特殊字符,默认true转义,false表示不转义
                writer.setEscapeText(false);
                writer.write(doc);
                writer.flush();
            } catch (Exception e) {
                e.printStackTrace();
            }
            return true;
        }
        private static String getShortUrl(int num, String Url) {
            //读取xml配置
            String shortUrl = "";
            File f;
            try {
                String proRootPath = new File("").getCanonicalPath();
                f = new File(proRootPath + "/src/main/webapp/WEB-INF/url.xml");
                SAXReader reader = new SAXReader();
                Document doc = reader.read(f);
                Element items = doc.getRootElement();
                Element item;
                Element child;
                for (Iterator i = items.elementIterator("Items"); i.hasNext(); ) {
                    item = (Element) i.next();
                    for (Iterator z = item.elementIterator("Item"); z.hasNext(); ) {
                        child = (Element) z.next();
                        if(Url.equals(child.elementText("ItemLong"))){
                            shortUrl = child.elementText("ItemShort");
                        }
                    }
                }
            } catch (Exception e) {
                e.printStackTrace();
            }
            return shortUrl;
        }
    }
    
    

    持久化xml格式:

    <?xml version="1.0" encoding="UTF-8"?>
    
    <ItemInfo>
      <ItemStatistics>长短链映射关系对照</ItemStatistics>
      <Items>
        <Item>
          <ItemNum>1</ItemNum>
          <ItemShort>Ev6JJr</ItemShort>
          <ItemLong>http://www.baidu.com</ItemLong>
        </Item>
        <Item>
          <ItemNum>2</ItemNum>
          <ItemShort>7vuuqq</ItemShort>
          <ItemLong>http://www.sougou.com</ItemLong>
        </Item>
      </Items>
    </ItemInfo>
    
    展开全文
  • 淘宝客解析url优惠链接获取商品ID

    千次阅读 2018-11-19 10:57:45
    淘宝客解析商品链接获取PID   优惠链接都有一个e参数,提取e参数,直接解析e参数就可以获取推广链接的商品ID; 这是一个优惠推广链接:...
    展开全文
  • Java获取URL链接的host

    万次阅读 2018-07-03 23:43:00
    Java获取URL链接的host import java.net.MalformedURLException; import java.net.URL; /** * 获取链接的host */ public class URLUtils { public static String getHost(String link) { URL url; St...
  • php、tp 获取url链接内容

    千次阅读 2020-01-10 15:26:51
    本实例是在控制器中使用的 控制器请引入文件 usethink\Request; 获取路径代码如下: $request = Request::instance();... // 获取当前域名 echo 'domain: ' ....domain() .... // 获取当前...
  • Java获取URL链接的文件类型

    千次阅读 2019-12-05 16:22:56
    获取 Url 链接的文件类型有三种方法(前两种不准确,推荐第三种): 通过 url 后缀名获取,这种不用说,直接是静态文件链接还好说,但其它很多情况获取不准确,因为很多资源都是通过请求获取的,像...
  • 获取指定URl页面中所有链接

    千次阅读 2015-08-28 22:05:20
    获取指定URl页面中所有链接
  • qt url下载链接 获取文件名

    千次阅读 2017-12-02 11:11:18
    函数获取文件名的,不过这个对第二种不其作用,对于第二种url 如何获取文件名呢? QNetworkAccessManager m_manager ; QNetworkRequest request(url); QNetworkReply *tmp = m_manager .get...
  • js获取url链接中的域名部分

    万次阅读 2018-03-19 11:23:45
    用js提取出url中的域名(domain)部分,用split()函数就可以了。 因为一个正确的url必定是由http://或者是https://、domain、路径/参数组成,所以可以用split以/进行分割成数组,取第3部分就是域名了。 代码范例: ...
  • WKWebView跳转后的页面URL获取处理。直接贴代码。 DDBWebViewController.h // // DDBWebViewController.h // DDBIOS // // Created by liwx on 2018/3/14. // Copyright © 2018年 io.lwx. All rights reserved....
  • iOS 获取URL链接中的各参数

    千次阅读 2020-06-01 21:37:09
    1、iOS请求URL中含有中文怎么办?...2、iOS获取URL链接中的各个参数值: 例:http://example.com?param1=value1&param2=param2 通过对一个合法的url(第一个参数用"?“连接,且url中只有一个”?",剩下的参数用
  • t;&gt;&gt;&...1、获取当前项目请求URL的完整链接地址 String requestUrl = req.getScheme() //当前链接使用的协议 +"://" + req.getServerName()//服务器地址 + ":
  • 最近在做一个页面,服务器跳转到前端的时候,在url上面加一个 get参数; 然后客户端再获取到这个参数,然后再用 ajax方式,访问服务器,带上这个参数,获取数据。...获取url 浏览器这个对象,对应js
  • 通常,在百度输入关键词搜索出现的列表页,点击目标链接,然而跳转的时候却是百度地址,经过百度解析,才真的跳到目标页面。 在SEO中,经常需要看下自己的网站排名,又不想手动每天手动去点,可用以下方法去得到...
  • 如何获取URL链接是http还是https

    万次阅读 2016-06-23 15:19:20
    1,JAVA截取链接地址。 String URL = request.getRequestURL().toString(); if(!URL.startsWith("https:")) { System.out.println("HTTPS"); } 2,JAVA获取协议 if("http".equals(reque
  • Jsoup获取url所有链接

    千次阅读 2018-11-13 15:53:57
    //Validate.isTrue(args.length == 1, "usage: supply url to fetch"); //String url = args[0]; String url ="http://politics.people.com.cn/n1/2018/1106/c1001-30383657.html"; print("Fetching %s...",...
  • JavaScript获取链接url参数并生成对象

    千次阅读 2017-08-09 15:23:00
    获取地址栏参数,实用又方便 日常每次在获取URL上的参数都得写一遍 location.search 接着xxxx一顿分割字符串 想做个一劳永逸的东东,所以写了一个迷你URL的解析工具 喜欢的朋友可以下载看看
  • 通过 正则表达式 来获取一个网页中的所有的 URL链接,并下载这些 URL链接 的源代码使用的系统:Windows 10 64位 Python 语言版本:Python 2.7.10 V 使用的编程 Python 的集成开发环境:PyCharm 2016 04 我使用的 ...
  • ASP.NET 获取上一个页面的Url链接

    千次阅读 2013-02-03 17:13:42
    ASP.NET 获取上一个页面的Url链接Uri Url = HttpContext.Current.Request.UrlReferrer;
  • js获取用户来路url及跳转链接

    万次阅读 2017-06-03 13:38:25
    但是如果某些按钮使用这种返回式方法,其链接返回上一级或几级url的时候,可能会出现一些问题,比如一个好友直接发送过来一个页面的网址链接,或者通过微信分享过来的链接页,当打开该页面的时候,它是不存在上一级...
  • python获取图片url链接后保存到本地

    千次阅读 2019-05-15 11:23:38
    #!/usr/bin/env python # -*- coding:utf-8 -*- import json import time import requests import urllib.request url = 'http://manage.w.rongyi.com/ops/cmd/queryRecord' headers = { "Content-Type":"appli...
  • jquery跨域获取url链接的页面内容

    千次阅读 2018-05-05 11:08:17
    + options.url; //options.url = "http://cors.corsproxy.io/url=" + options.url; } }); $.get( 'https://mp.weixin.qq.com/s/vUaCwSEIYlGpf1yZ0HdNCw' , function (response) { $( "#html" )....
  • js 获取当前页面url链接的参数

    千次阅读 2019-03-11 17:10:12
    方法: function getUrlParam(name) { var reg = new RegExp("(^|&amp;)" + name + "=([^&amp;]*)(&amp;... var r = window.location.search.slice(1).match(reg);... ...
  • * 通过key解析url中存在的value * * @param url * @param key * @return */ public static String getDataFromUrl(String url, String key) { String value = ""; Uri uri = Uri.parse(url); value = ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 405,960
精华内容 162,384
关键字:

url链接怎么获取