`
lidxgz
  • 浏览: 11781 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
社区版块
存档分类
最新评论

java 访问验证资源

阅读更多

公司要统计各CP的访问量,流量报表要到由第三方公司每天提供的连接上下载。于是要写一个程序每天定时抓取csv文件入库。可是要先登录认证后才可下载。直接用URLConnection的connection()方法显然不行,查资料后发现可以使用setRequestProperty()方法在请求属性中设置用户名密码。现在有几种用于网络应用的验证方法,其中最广泛使用的是基本验证 (Basic Authentication) 和摘要验证 (Digest Authentication)。步骤如下:

1.将用户名、密码以冒号连接; 如:String input = username+":"+password;

2.将字符串input进行base64编码(base64编码用于将字节流编码成可打印的ASCII字符流);

String encoding = base64Encode(input);

3.调用setRequestProperty()方法; connection.setRequestProperty("Authorization","Basic "+encoding);

 

static String base64Encode(String s)...{
        ByteArrayOutputStream btOutput 
= new ByteArrayOutputStream();
        Base64OutputStream out 
= new Base64OutputStream(btOutput);
        
try...{
            out.write(s.getBytes());
            out.flush();
        }
catch(IOException e)...{e.printStackTrace();}
        
return btOutput.toString();
    }

base64编码类:

 

package com.gddata.util;

import java.io.*;

/** *//**
 * Created by IntelliJ IDEA.
 * User: 徐国智
 * Date: 2007-6-8
 * Time: 11:46:44
 
*/

public class Base64OutputStream extends FilterOutputStream ...{
    
public Base64OutputStream(OutputStream out) ...{
        
super(out);
    }

    
public void write(int c)throws IOException...{
        inbuf[i] 
=c;
        i
++;
        
if(i == 3)...{
            
super.write(toBase64[(inbuf[0& 0xFC)>>2]);
            
super.write(toBase64[((inbuf[0& 0x03)<<4)|((inbuf[1& 0xF0)>>4)]);
            
super.write(toBase64[((inbuf[1]&0x0F)<<2)|((inbuf[2]&0xC0)>>6)]);
            
super.write(toBase64[inbuf[2& 0x3F]);
            col 
+=4;
            i
=0;
            
if(col>=76)...{
                
super.write(' ');
                col
=0;
            }

        }

    }

    
public void flush() throws IOException...{
        
if(i==1)...{
            
super.write(toBase64[(inbuf[0]&0xFC)>>2]);
            
super.write(toBase64[(inbuf[0]&0x03
分享到:
评论

相关推荐

    JAVA简易网络验证可对接火山/易语言实现网络验证

    在IT行业中,网络验证是一种常见的安全机制,用于确保只有合法的用户或系统能够访问特定的资源。本项目名为“JAVA简易网络验证可对接火山/易语言实现网络验证”,旨在提供一个简单的Java实现,使得开发者可以方便地...

    java token验证和注解方式放行

    JWT可以在客户端保存,每次请求时发送到服务器进行验证,而OAuth2 access token通常由授权服务器发放,用于访问受保护的资源。 在描述中提到的实现中,集成了Token的校验功能,意味着系统可以接收用户的Token,验证...

    java禁止直接url访问图片

    标题“Java禁止直接URL访问图片”涉及到的是网络资源保护和权限控制的问题,主要知识点包括: 1. **HTTP请求与响应**: 当用户通过浏览器或其他客户端工具输入一个URL来访问图片时,实际上是发送了一个HTTP GET...

    java验证AD域用户登录

    Java验证AD域用户登录是企业级应用中常见的一种身份验证方式,主要用于确保只有授权的用户才能访问特定的系统或服务。AD(Active Directory)域是由微软Windows Server操作系统提供的目录服务,用于集中管理用户账户...

    Java登陆验证机制

    授权则是确定已验证的用户可以访问哪些资源或执行哪些操作的过程。 在Java中,JAAS提供了两个主要组件:登录模块(Login Module)和主体(Subject)。登录模块是实现特定认证策略的类,可以是基于密码的、证书的、...

    Java项目登录验证

    Java项目中的登录验证是Web应用开发中的一个关键环节,它确保只有合法的用户才能访问受保护的资源。在这个Java项目中,登录验证涉及到多个组件,包括Servlet、Filter、DAO(数据访问对象)以及数据库交互。下面我们...

    基于Java的人力资源管理系统论文.doc

    基于Java的人力资源管理系统论文 Java是一种流行的编程语言,它广泛应用于网络应用程序的开发。人力资源管理系统是企业管理中不可或缺的一部分,它主要负责人力资源的规划、招聘、培训、薪酬管理、绩效考核等方面的...

    java访问https网址下载文件(含证书)

    在Java编程中,访问HTTPS网址并下载文件是一个常见的任务,特别是在需要安全传输敏感数据或确保数据完整性时。这里我们将深入探讨如何使用Java 1.7版本处理这一过程,包括处理SSL证书。 首先,理解HTTPS(超文本...

    Java开发资源库

    7. **反射与注解**:反射允许在运行时动态访问类、接口、字段和方法的信息,而注解为代码提供了元数据,可以用于代码的自动处理和验证。 8. **网络编程**:Java的Socket编程接口使得创建客户端和服务端应用程序变得...

    超详细!java访问windows共享目录并下载文件

    在Java编程环境中,有时我们需要与Windows操作系统进行交互,例如访问共享目录并下载其中的文件。这个过程涉及到几个关键的技术点,包括系统调用、网络通信和文件操作。在这个场景下,我们将通过`SmbUtils.java`和`...

    java用户验证和过滤

    如果匹配,用户被认为是已验证的,可以访问他们被授权的资源。在Java中,这可以通过Spring Security框架来实现,该框架提供了一套完整的用户认证和访问控制机制。此外,还可以使用JDBC Realm进行基于数据库的身份...

    java实现读取证书访问https接口

    在Java编程环境中,访问HTTPS接口通常涉及到网络通信和安全性的处理。HTTPS协议是HTTP协议的安全版本,通过SSL/TLS协议提供了数据加密、服务器身份验证和消息完整性检查,以确保网络通信的安全。本教程将深入讲解...

    java JAAS登陆验证

    在Java应用程序中,尤其是服务器端应用,确保只有合法的用户能够访问资源是至关重要的。JAAS提供了一种标准的方式来实现这一目标,允许开发者在不深入了解底层安全机制的情况下,构建安全的应用程序。 **JAAS 登录...

    苹果授权登陆 服务端验证(java)

    本资源主要关注的是服务端验证的Java实现,这通常涉及到OAuth 2.0协议和JSON Web Tokens(JWTs)。以下是关于这个主题的详细知识点: 1. **OAuth 2.0 协议**:OAuth 2.0 是一种授权框架,用于安全地获取和使用用户...

    ntlm验证Java代码

    在Java编程中,如果你需要访问一个只接受NTLM身份验证的Web服务或者资源,你就需要实现NTLM认证机制。这个压缩包文件包含了一个名为"LoginTest5.java"的Java代码示例,它提供了实现NTLM认证的基础框架。 在这个Java...

    Java 人力资源管理系统

    Java提供了丰富的安全组件,如JAAS(Java Authentication and Authorization Service)和JCE(Java Cryptography Extension),可以实现用户身份验证、权限控制和数据加密,保护系统免受未经授权的访问。 在实际...

    Java固定资源管理系统

    系统可能使用Spring Security或者Apache Shiro进行权限管理,实现用户登录验证、角色分配、访问控制等功能,确保资源的安全性。 五、报表与统计 利用Java的报表工具如JasperReports或iReport,可以生成各类固定...

    java登陆验证终极版

    Java 登录验证是 Web 应用程序开发中的一个重要环节,它确保只有经过授权的用户能够访问受保护的系统资源。这个“Java 登录验证终极版”可能是针对这一主题的一个完整项目或教程,旨在帮助开发者掌握高级的登录验证...

    java中Dom验证XMl文件合法非法

    9. **性能考虑**: 验证过程可能会消耗大量资源,特别是对于大型XML文件。因此,在不需要严格验证的情况下,关闭验证可以提高性能。 10. **DTD验证**: 如果你的验证需求基于DTD,可以使用`EntityResolver`接口来处理...

    java 使用URL访问网页

    此外,如果访问的网页需要身份验证或cookies,可能需要设置`URLConnection`的额外属性。 在Java中,还可以使用`HttpURLConnection`类进行更复杂的HTTP操作,比如发送POST请求、设置请求头等。`HttpURLConnection`是...

Global site tag (gtag.js) - Google Analytics