精华内容
下载资源
问答
  • 或者有什么其他方法在不知道IP的情况下,在同一个局域网中让IOS程序和FLASH程序通讯 能来个实例什么的最好了~~ 实现FLASH发布的IOS程序 和FLASH桌面程序 通讯也可以~ 主要是在不知道IP的情况下通讯
  • 【概论】 (1)简述 在所有网站里,特别是用户管理系统,...所以不要只将IP看为地址信息,认为没有什么用。 (2)获取IP方法 ①原生PHP里通过超全局变量:$_SERVER保存关于报头、路径、脚本位置等信息。例如 ...

    【概论】

    (1)简述

    在所有网站里,特别是用户管理系统,都喜欢记录用户访问的IP地址。对后期的业务开展有很大的意义,可以通过IP地址的记录访问出国内或全球范围内,哪一块用户比较多。

    在后期做产品时,可以针对这块来重点推销。所以不要只将IP看为地址信息,认为没有什么用。

    (2)获取IP方法

          ①原生PHP里通过超全局变量:$_SERVER保存关于报头、路径、脚本位置等信息。例如

             注意:$_SERVER方法缺点---->有时获取不太准确

    $_SERVER['SERVER_ADDR'] 返回当前运行脚本所在的服务器的 IP 地址。
    $_SERVER['SERVER_NAME'] 返回当前运行脚本所在的服务器的主机名(比如 www.w3school.com.cn)。

         其他具体的我在文章最后列出

         ②ThinkPHP封装了get_slient_ip(获取客户IP)方法来获取IP,准确来说,因为$_SERVER方法获取不太准确,所以该方法是对原生$_SERVER的补充完善

             位置:系统函数库文件里function.php,接下来看下源码

    /**
     * 获取客户端IP地址
     * @param integer $type 返回类型 0 返回IP地址 1 返回IPV4地址数字
     * @param boolean $adv 是否进行高级模式获取(有可能被伪装) 
     * @return mixed
     */
    function get_client_ip($type = 0,$adv=false) {
        $type       =  $type ? 1 : 0;
        static $ip  =   NULL;
        if ($ip !== NULL) return $ip[$type];
        if($adv){
            if (isset($_SERVER['HTTP_X_FORWARDED_FOR'])) {
                $arr    =   explode(',', $_SERVER['HTTP_X_FORWARDED_FOR']);
                $pos    =   array_search('unknown',$arr);
                if(false !== $pos) unset($arr[$pos]);
                $ip     =   trim($arr[0]);
            }elseif (isset($_SERVER['HTTP_CLIENT_IP'])) {
                $ip     =   $_SERVER['HTTP_CLIENT_IP'];
            }elseif (isset($_SERVER['REMOTE_ADDR'])) {
                $ip     =   $_SERVER['REMOTE_ADDR'];
            }
        }elseif (isset($_SERVER['REMOTE_ADDR'])) {
            $ip     =   $_SERVER['REMOTE_ADDR'];
        }
        // IP地址合法验证
        $long = sprintf("%u",ip2long($ip));
        $ip   = $long ? array($ip, $long) : array('0.0.0.0', 0);
        return $ip[$type];
    }

           输出查看下

    echo get_client_ip();

         浏览器输出结果:

        若检验方法里传入数字1,则会输出IP对应的数字地址,这里验证下----->echo get_client_ip(1);

        浏览器输出结果:

      什么是数字地址呢?其实简单理解就是IP地址的数字格式,等价于IP地址。这里在浏览器输入数字地址2130706433验证下,会发现会显示出localhost界面。具体后面有解释

      总结:对于方法get_client_id(可选参数数字)总结 

                 1. 如果参数是0或者空,则表示返回正常的ipv4(127.0.0.1)地址,常见的正常的4段地址;

                 2. 如果参数为1,则会返回数字地址

    【三】重点:TP中的使用--------------在ThinkPHP里将ip地址转换为物理地址

    (1)什么是物理地址?

    物理地址就是可以一眼看出IP所属地域,如下格式:

    (2)重点:如何将IP地址转化为物理地址?

             1. 转换原因:原因不多讲,说下应用吧---例如网络犯罪后快速定位

              对于上面快速定位,这里补充下为什么黑客攻击后可以全身而退?因为黑客攻击服务器后,将历史记录删除了,直接删除了日志。

    在ThinkPHP里系统提供了一个工具类来实现转换,但系统不提供所使用的数据。所以相关的数据库还需要开发人员去寻找对应数据库,数据库可以从纯真官网(www.cz88.net)去寻找。现在国内所有IP数据库基本都下载自纯真网,因为更新十分频繁,基本5天更新一次

              2. 下载安装IP数据库

              3. 测试:输入上面百度查询的IP

             

             4. 因为PHP无法直接调取纯真的接口,所以需要另想办法~~~

             5. 右击打开文件位置,找到qqwry.dat便是我们所需数据库

             

            6. ThinkPHP里提供的类ThinkPHP\Library\Org\Net\locatiom.class.php,接下来看下源码

                 ①构造方法

    /**
         * 构造函数,打开 QQWry.Dat 文件并初始化类中的信息
         *
         * @param string $filename
         * @return IpLocation
         */
        public function __construct($filename = "UTFWry.dat") {
            $this->fp = 0;
            if (($this->fp      = fopen(dirname(__FILE__).'/'.$filename, 'rb')) !== false) {
                $this->firstip  = $this->getlong();
                $this->lastip   = $this->getlong();
                $this->totalip  = ($this->lastip - $this->firstip) / 7;
            }
        }

           由源码即可分析出,IP文件位置应该和类文件同级。实例化时可以传递一个文件名,文件名所在位置和当前类属于同级目录

             ②getlocation方法:根据ip地址或域名返回所在地区信息

     public function getlocation($ip='') {...}

                分析后即可得知,该方法可以传入一个参数即ip地址,如果为空则表示查询当前用户的ip地址

             ③析构函数:用于页面执行结束后自动关闭打开的文件,所以不需要调用

    public function __destruct() {
            if ($this->fp) {
                fclose($this->fp);
            }
            $this->fp = 0;
        }

    分析代码总结:需要调用的方法有两个,①实例化时调用构造函数;②getlocation返回地区信息

    (3)开始编写方法

            1. 先将qqwry.dat复制到IpLocation.class同级目录下

               

            2. 输出ip验证

    $ip = new \Org\Net\IpLocation('qqwry.dat');//PS:这里我改用UTFWry.dat
    $location = $ip->getlocation('218.79.93.194');
    dump($location);die;

               输出结果:

    array(5) {
      ["ip"] => string(13) "218.79.93.194"
      ["beginip"] => string(11) "218.79.93.0"
      ["endip"] => string(13) "218.79.94.255"
      ["country"] => string(18) "上海市普陀区"
      ["area"] => string(20) "/静安区电信ADSL"
    }

             这里我调整了一下,因为qqwry.dat无法获取,所以查阅了一下,我改用UTFWry地址进行IP定位,具体我在文章thinkphp获取ip地址及位置信息里做了总结

       UTFWry是默认的,不过也需要下载。这里我试过自定义的无效。。。。。。以后有时间再研究研究,备注下

     

     

     

    拓展:

           后期会结合接口编程,去开发,这里先了解下。将上述代码做下修改

    // 实例化类 参数表示IP地址库文件
    $ip = new \Org\Net\IpLocation('UTFWry.dat');
    //通过I方法接收ip,然后传递ip
    $ipInfo = I('get.ip'); // 获取某个IP地址所在的位置 $location = $ip->getlocation($ipInfo); dump($location);die;

    改写完成后将之前的访问连接http://www.1336.com/index.php/Admin/Doc/showList.html后面加上get传参,例如?ip=6.6.6.6,便可以访问对应IP(一般好的IP地址都被大佬级别的公司和集团占了,,,)。IP为6.6.6.6的输出结果:美国国防部IP

    array(5) {
      ["ip"] => string(7) "6.6.6.6"
      ["beginip"] => string(7) "6.1.0.0"
      ["endip"] => string(13) "6.255.255.255"
      ["country"] => string(6) "美国"
      ["area"] => string(57) "亚利桑那州华楚卡堡市美国国防部网络中心"
    }

     

     

     

     

     

     

    【拓展】

    (1) 数字地址

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

    元素/代码描述
    $_SERVER['PHP_SELF'] 返回当前执行脚本的文件名。
    $_SERVER['GATEWAY_INTERFACE'] 返回服务器使用的 CGI 规范的版本。
    $_SERVER['SERVER_ADDR'] 返回当前运行脚本所在的服务器的 IP 地址。
    $_SERVER['SERVER_NAME'] 返回当前运行脚本所在的服务器的主机名(比如 www.w3school.com.cn)。
    $_SERVER['SERVER_SOFTWARE'] 返回服务器标识字符串(比如 Apache/2.2.24)。
    $_SERVER['SERVER_PROTOCOL'] 返回请求页面时通信协议的名称和版本(例如,“HTTP/1.0”)。
    $_SERVER['REQUEST_METHOD'] 返回访问页面使用的请求方法(例如 POST)。
    $_SERVER['REQUEST_TIME'] 返回请求开始时的时间戳(例如 1577687494)。
    $_SERVER['QUERY_STRING'] 返回查询字符串,如果是通过查询字符串访问此页面。
    $_SERVER['HTTP_ACCEPT'] 返回来自当前请求的请求头。
    $_SERVER['HTTP_ACCEPT_CHARSET'] 返回来自当前请求的 Accept_Charset 头( 例如 utf-8,ISO-8859-1)
    $_SERVER['HTTP_HOST'] 返回来自当前请求的 Host 头。
    $_SERVER['HTTP_REFERER'] 返回当前页面的完整 URL(不可靠,因为不是所有用户代理都支持)。
    $_SERVER['HTTPS'] 是否通过安全 HTTP 协议查询脚本。
    $_SERVER['REMOTE_ADDR'] 返回浏览当前页面的用户的 IP 地址。
    $_SERVER['REMOTE_HOST'] 返回浏览当前页面的用户的主机名。
    $_SERVER['REMOTE_PORT'] 返回用户机器上连接到 Web 服务器所使用的端口号。
    $_SERVER['SCRIPT_FILENAME'] 返回当前执行脚本的绝对路径。
    $_SERVER['SERVER_ADMIN'] 该值指明了 Apache 服务器配置文件中的 SERVER_ADMIN 参数。
    $_SERVER['SERVER_PORT'] Web 服务器使用的端口。默认值为 “80”。
    $_SERVER['SERVER_SIGNATURE'] 返回服务器版本和虚拟主机名。
    $_SERVER['PATH_TRANSLATED'] 当前脚本所在文件系统(非文档根目录)的基本路径。
    $_SERVER['SCRIPT_NAME'] 返回当前脚本的路径。
    $_SERVER['SCRIPT_URI'] 返回当前页面的 URI。

    转载于:https://www.cnblogs.com/jianxian/p/8706743.html

    展开全文
  • 仔细寻思了一下,觉得应该是对微信的原生接口不够了解,导致别人家封装好的东西,总那么一点不舒服,担心,害怕。所以这就从原点出发,学习微信公众号原生api开发。 服务器配置 首先,你得个公网ip或者是...

    虽然已经用过easywechat这样简单好用的微信SDK,但是总觉得差点什么,差点什么呢?仔细寻思了一下,觉得应该是对微信的原生接口不够了解,导致用别人家封装好的东西,总有那么一点不舒服,担心,害怕。所以这就从原点出发,学习微信公众号原生api开发。

    服务器配置

    1. 首先,你得有个公网ip或者是域名url,填写到微信公众号的配置url里。然后token的话,随便定义一个字符串。当然,这个url是你的与微信对接的一个入口文件,需要进行认证。
    2. 下面是入口文件的逻辑代码思路:
      //点击提交配置的时候,微信会向你配置的服务器url发送一个get请求,类似这样:
      //  your_url?signature=ddb4083a3ec480385ad07a699ebd7717fd4e43dc&echostr=13316280618513723375&timestamp=1524714412&nonce=3081478024
      //你可以看到给你传输了四个参数,signature, echostr, timestamp, nonce。具体是什么认证规则,看下面:
      //获取参数:
      public function wechat() {
          $timestamp = $_GET['timestamp'];
          $signature = $_GET['signature'];
          $nonce = $_GET['nonce'];
          $echoStr = isset($_GET['echostr']) ? $_GET['echostr']: '';
          $token = 'weixin';
      //将参数进行字典排序,并拼接成字符串,然后sha1加密
          $array = [$token, $timestamp, $nonce];
          sort($array);
          $tempStr = sha1(implode('', $array));
      //判断如果$tempStr == $signature并且存在$echostr
          if($tempStr == $signature && $echoStr) {
              echo $echoStr;
              exit;
          } else {
              $this->responseMsg();
          }
      }    
      复制代码
      需要注意的是,只要提交配置的时候微信服务器才会发送参数echostr这个参数,后面将不再发送,所以如果不存在,就走下面的responseMsg这个方法。

      这里需要注意的是,路由方法一定必须要是any 因为微信get、post两个方法都会用到。

    展开全文
  • python基础:网络通信

    2020-08-06 19:11:35
    ipaddress 提供了一些类来验证、比较和处理 IPv4/IPv6网络地址,的比较少 socket比较底层,可以直接访问原生C套接字库,可以用于与任何网络服务通信,很常用。(多说一句,http、ws等等这些服务都可以socket...

    前言

    本节只是对总体的python通信模块做一个总体的介绍,具体要查看哪个模块,请直接点击相应的文章链接。

     

    python用于网络通信的标准库主要有4个

    • ipaddress
    • socket
    • select
    • selectors

    他们的使用场景时什么呢?

    ipaddress 提供了一些类来验证、比较和处理 IPv4/IPv6网络地址,用的比较少,就不说他了。

    socket比较底层,可以直接访问原生C套接字库,可以用于与任何网络服务通信,很常用。(多说一句,http、ws等等这些服务都可以用socket编程来模拟)

    selectors提供了一个高层接口,可以同时间是多个套接字(这块可以去看linux的select原理,是高并发的重要基础),很常用

    select是一个比较底层的包,我们一般不直接使用它;而selectors包其实是在select上封装了一层,所以更加面向用户,所以我们使用selectors更多。

    《python基础:网络通信之socket》

    《python基础:网络通信之selectors》

    《python基础:网络通信select》

    展开全文
  • 像网上说什么新风口了,原生APP以后没活路了等相关文章喜欢的可以多看看, 我们今天不会在产品层面上去介绍小程序,因为我们是搞运维的,所以我还是在运维层面怎么使用小程序, 今天我们实际例子来讲解和普及小小...
  • AB test就是一种灰度发布方式,让一部分用户继续A,一部分用户开始B,如果用户对B没有什么反对意见,那么逐步扩大范围,把所有用户都迁移到B上面来。灰度发布可以保证整体系统的稳定,在初始灰度的时候就可以...

    灰度发布是指在黑与白之间,能够平滑过渡的一种发布方式。AB test就是一种灰度发布方式,让一部分用户继续用A,一部分用户开始用B,如果用户对B没有什么反对意见,那么逐步扩大范围,把所有用户都迁移到B上面来。灰度发布可以保证整体系统的稳定,在初始灰度的时候就可以发现、调整问题,以保证其影响度。

    使用Nginx实现灰度发布有几种方式,这里记录一下比较简单的原生方式。

    1. 根据IP进行分流

      upstream caibabhost {
        server 192.168.2.20:18098;
        server 192.168.2.20:18097;
      }
      upstream caibabhost_01{
        server 192.168.2.20:18098;
      }
      upstream caibabhost_02{
        server 192.168.2.20:18097;
      }

    先设置三个upstream,caibabhost为默认使用,正常的负载均衡。 caibabhost_01,caibabhost_02 可以理解为一新一旧的系统。

    server

    {

       ...

      set $group caibabhost;   
      if ($remote_addr ~ "192.168.2.142") {
        set $group caibabhost_02;
      }

          ...

      location / {

        ...

        proxy_pass http://$group;

      }

    }

    这样就可以正常实现指定ip访问caibabhost_02。 如果多ip ,则用 | 添加。

     

    2. Cookie方式 :  (转载 :http://www.cnblogs.com/weifeng1463/p/7353710.html

      

    根据Cookie查询Cookie键为version的值,如果该Cookie值为V1则转发到hilinux_01,为V2则转发到hilinux_02。Cookie值都不匹配的情况下默认走hilinux_01所对应的服务器。

    两台服务器分别定义为:

    hilinux_01  192.168.1.100:8080
    hilinux_02  192.168.1.200:8080
    • 用if指令实现

    upstream hilinux_01 {
        server 192.168.1.100:8080 max_fails=1 fail_timeout=60;
    }
    
    upstream hilinux_02 {
        server 192.168.1.200:8080 max_fails=1 fail_timeout=60;
    }
    
    upstream default {
        server 192.168.1.100:8080 max_fails=1 fail_timeout=60;
    }
    
    server {
      listen 80;
      server_name  www.hi-linux.com;
      access_log  logs/www.hi-linux.com.log  main;
    
      #match cookie
      set $group "default";
        if ($http_cookie ~* "version=V1"){
            set $group hilinux_01;
        }
    
        if ($http_cookie ~* "version=V2"){
            set $group hilinux_02;
        }
    
      location / {                       
        proxy_pass http://$group;
        proxy_set_header   Host             $host;
        proxy_set_header   X-Real-IP        $remote_addr;
        proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
        index  index.html index.htm;
      }
     }
    • 用map指令实现

    在Nginx里面配置一个映射,$COOKIE_version可以解析出Cookie里面的version字段。$group是一个变量,{}里面是映射规则。

    如果一个version为V1的用户来访问,$group就等于hilinux_01。在server里面使用就会代理到http://hilinux_01上。version为V2的用户来访问,$group就等于hilinux_02。在server里面使用就会代理到http://hilinux_02上。Cookie值都不匹配的情况下默认走hilinux_01所对应的服务器。

    upstream hilinux_01 {
        server 192.168.1.100:8080 max_fails=1 fail_timeout=60;
    }
    
    upstream hilinux_02 {
        server 192.168.1.200:8080 max_fails=1 fail_timeout=60;
    }
    
    upstream default {
        server 192.168.1.100:8080 max_fails=1 fail_timeout=60;
    }
    
    map $COOKIE_version $group {
    ~*V1$ hilinux_01;
    ~*V2$ hilinux_02;
    default default;
    }
    
    server {
      listen 80;
      server_name  www.hi-linux.com;
      access_log  logs/www.hi-linux.com.log  main;
    
      location / {                       
        proxy_pass http://$group;
        proxy_set_header   Host             $host;
        proxy_set_header   X-Real-IP        $remote_addr;
        proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
        index  index.html index.htm;
      }
     }

    转载于:https://www.cnblogs.com/dinolin-630/p/7503526.html

    展开全文
  • 还有前台post的数据、cookie、session、路由等,在原生中都需要我们自己处理,而koa2框架直接封装好了,就算koa2没有提供也很多其他人编写好了的中间件供我们使用。 我认为使用的框架的意义就是编写更好可维护的...
  • 在 webpack.config.js 中的 devServer属性写入host: '0.0.0.0',可以在开发时用ip访问,不局限在localhost; redux中的store并非只能通过connect将方法传递给container,可以跳出组件,在别的文件拿出来做流程控制...
  • 下面这张图是本周 websocket 并发量的模式: 为什么用 websocket?在我们这个规模下,它比轮询要有效率得多。通过这种方式,我们可以简单地使用更少资源来推送更多数据,而且对用户而言实时性也更高。安装:Install...
  • 状态SessionBean中,累加器,以对话状态存储起来,创建EJB对象,并将当前的计数器初始化,调用每一个EJB对象的count()方法,保证Bean正常被激活和钝化,EJB对象是完毕,从内存中清除…… Java Socket 聊天...
  • JAVA上百实例源码以及开源项目

    千次下载 热门讨论 2016-01-03 17:37:40
    状态SessionBean中,累加器,以对话状态存储起来,创建EJB对象,并将当前的计数器初始化,调用每一个EJB对象的count()方法,保证Bean正常被激活和钝化,EJB对象是完毕,从内存中清除…… Java Socket 聊天...
  • 这个世界上很多大人好像什么都懂的样子,那都是骗人的。 进了大学也好,进了好公司也好, 如果活到老学到老的想法,那就无限的可能性。 失去好奇心的那一瞬间,人就死了。 读书不是为了考试,而是为了成为出色...
  • 有什么什么方法,能够让我们调试移动端的适配的时候,像调试PC端一样直观呢?本文旨在为你提供移动端的调试方法,希望能够为你打开新的一扇门。 本文会给出三种真机调试方法,你可以...
  • COLA :根据我的了解来看,很多公司的项目都是基于 COLA 进行开发的,相比于其他快速开发脚手架,COLA 并不提供什么已经开发好的功能,它提供的主要是一个干净的架构,然后你可以在此基础上进行开发。通过一行命令就...
  • FAQ(持续更新)

    2021-01-08 12:27:51
    什么用callback 我们用C++11 std::function类型的callback和process来包装用户行为,因此用户需要知道自己是在编写异步程序。我们认为callback方式比future或用户态协程能给程序带来更高的效率ÿ...
  • 需要实际的例子程序参考学习,而最好的例子就是同样官方发布的oSIP的扩展开发库exosip2,使用exoSIP可以很方便地快速创建一个完整的SIP程序(只针对性地适用于SIP终端开发,所以我们这里只是它...
  • 什么用雪花ID? ❄ 因为大厂也在用,推特、百度、美团、滴滴等等。 ❄ 雪花ID是走向分布式架构的垫脚石,如果只会Guid和数据库自增,怎敢说会分布式系统架构。 ❄ 雪花ID适合小项目、大项目、超级大项目。 算法...
  • java开源包1

    千次下载 热门讨论 2013-06-28 09:14:34
    往好了用什么都能干,就是不能让一个网站下线。 FTP客户端Java类库 ftp4j ftp4j是一个FTP客户端Java类库,实现了FTP客户端应具有的大部分功能文件(包括上传和下 载),浏览远程FTP服务器上的目录和文件,创建、...
  • java开源包12

    热门讨论 2013-06-28 10:14:45
    往好了用什么都能干,就是不能让一个网站下线。 FTP客户端Java类库 ftp4j ftp4j是一个FTP客户端Java类库,实现了FTP客户端应具有的大部分功能文件(包括上传和下 载),浏览远程FTP服务器上的目录和文件,创建、...
  • 不管领导安排什么样的项目,你都可以快速交付,不需要转换开发思维、不需要更改开发习惯。 uni-app 是一个使用 Vue.js 开发所有前端应用的框架,开发者编写一套代码,可发布到iOS、Android、Web(响应式)、以及...
  • Java资源包01

    2016-08-31 09:16:25
    往好了用什么都能干,就是不能让一个网站下线。 FTP客户端Java类库 ftp4j ftp4j是一个FTP客户端Java类库,实现了FTP客户端应具有的大部分功能文件(包括上传和下 载),浏览远程FTP服务器上的目录和文件,创建、...
  • java开源包101

    2016-07-13 10:11:08
    往好了用什么都能干,就是不能让一个网站下线。 FTP客户端Java类库 ftp4j ftp4j是一个FTP客户端Java类库,实现了FTP客户端应具有的大部分功能文件(包括上传和下 载),浏览远程FTP服务器上的目录和文件,创建、...
  • java开源包11

    热门讨论 2013-06-28 10:10:38
    往好了用什么都能干,就是不能让一个网站下线。 FTP客户端Java类库 ftp4j ftp4j是一个FTP客户端Java类库,实现了FTP客户端应具有的大部分功能文件(包括上传和下 载),浏览远程FTP服务器上的目录和文件,创建、...
  • java开源包2

    热门讨论 2013-06-28 09:17:39
    往好了用什么都能干,就是不能让一个网站下线。 FTP客户端Java类库 ftp4j ftp4j是一个FTP客户端Java类库,实现了FTP客户端应具有的大部分功能文件(包括上传和下 载),浏览远程FTP服务器上的目录和文件,创建、...
  • java开源包3

    热门讨论 2013-06-28 09:20:52
    往好了用什么都能干,就是不能让一个网站下线。 FTP客户端Java类库 ftp4j ftp4j是一个FTP客户端Java类库,实现了FTP客户端应具有的大部分功能文件(包括上传和下 载),浏览远程FTP服务器上的目录和文件,创建、...
  • java开源包6

    热门讨论 2013-06-28 09:48:32
    往好了用什么都能干,就是不能让一个网站下线。 FTP客户端Java类库 ftp4j ftp4j是一个FTP客户端Java类库,实现了FTP客户端应具有的大部分功能文件(包括上传和下 载),浏览远程FTP服务器上的目录和文件,创建、...
  • java开源包5

    热门讨论 2013-06-28 09:38:46
    往好了用什么都能干,就是不能让一个网站下线。 FTP客户端Java类库 ftp4j ftp4j是一个FTP客户端Java类库,实现了FTP客户端应具有的大部分功能文件(包括上传和下 载),浏览远程FTP服务器上的目录和文件,创建、...
  • java开源包10

    热门讨论 2013-06-28 10:06:40
    往好了用什么都能干,就是不能让一个网站下线。 FTP客户端Java类库 ftp4j ftp4j是一个FTP客户端Java类库,实现了FTP客户端应具有的大部分功能文件(包括上传和下 载),浏览远程FTP服务器上的目录和文件,创建、...
  • java开源包4

    热门讨论 2013-06-28 09:26:54
    往好了用什么都能干,就是不能让一个网站下线。 FTP客户端Java类库 ftp4j ftp4j是一个FTP客户端Java类库,实现了FTP客户端应具有的大部分功能文件(包括上传和下 载),浏览远程FTP服务器上的目录和文件,创建、...

空空如也

空空如也

1 2
收藏数 40
精华内容 16
关键字:

原生ip有什么用