http://blog.csdn.net/jserkang/archive/2005/03/13/318623.aspx

接入9588短信网关(http协议),9588的iis上的短信服务url需要身份验证,

在程序中使用的URL:http://UserName:Password@000.000.000.000/SmbpHttpAgent/

接入java代码:

URL url = new URL(buf.toString()); System.out.println("****"+buf.toString() ); 
HttpURLConnection conn = (HttpURLConnection)url.openConnection(); 
String password = "user:password; 
BASE64Encoder base = new BASE64Encoder(); 
String encodedPassword = base.encode(password.getBytes()); 
conn.setRequestProperty("Authorization", "Basic " + encodedPassword); 
conn.setRequestMethod("GET"); 
BufferedReader in = new BufferedReader(new InputStreamReader(conn.getInputStream()));
while(in.readLine()!=null){ out.println(in.readLine()); bool = true; }

接入asp代码

function SendMessage(mobile,strMessage)
 Dim str,url,postmsg
 url="http://000.000.000.00/SmbpHttpAgent/Sxxxxxxx
 
 Set objHTTP = Server.CreateObject("MSXML2.XMLHTTP")
Set xmlDOC =Server.CreateObject("MSXML.DOMDocument")

'设置参数及其值
strRequest = url1
objHTTP.Open "POST", postmsg, False,"接入帐号","接入密码"
'设置这个Content-Type很重要
objHTTP.SetRequestHeader "Content-Type", "application/x-www-form-urlencoded"
objHTTP.Send(strRequest)
bOK = xmlDOC.load(objHTTP.responseXML)
'看看状态值
if objHTTP.Status=200 then 
xmlStr = xmlDOC.xml
Response.Write xmlStr
else
Response.Write objHTTP.Status&"<br>"
Response.Write objHTTP.StatusText
end if
end function

John Zukowski

摘要
在上一篇的tip, Java Tip 46, 描述了如何利用Java 程序访问密码保护的 URL,通过 Java 1.2 的新的 Authenticator 类。如果你或者你的用户转到 Java 1.1 下该怎么办呢?基本上,没有 Java 1.2,你会失掉 Authenticator带来的好处。但别失望! 这篇文章将展示 Java 1.1 小程序片和应用程序如 何访问需要输入用户名称和密码的R访问需要输入用户名称和密码的 URLs.(1250字)

非常感谢 David Wallace Croft,他跟踪并修复了 Base64Converter 类的原始版本的一个 bug, ?经过修改的类的源代码在这篇短文中列出。
在上一篇技巧中,我们引入了如下的场景:你使用喜欢的浏览器在网上冲浪,并遇到了一个URL 需要代理或HTTP服务器的授权。在屏幕上出现的是一个标准的对话框,必须在其中输入你的用户名称和密码来访问这个站点。为了更清楚起见,屏幕上的对话框如下图所示。

在 Java 程序中,你将发现一个问题:当你试图从 InputStream 中读取和URL相关的信息时,一个 FileNotFoundException将会抛出。

从 Java 1.2开始,可以利用 Authenticator 类,如上面所提到的,在 Java Tip 46 你已经学到。然而,在比Java 1.2 早的版本
中,在试图从 URL 中读取数据之前首先需要知道所访问的 URL 是否是受密码保护的。如果 URL 是密码保护的,必须手动的确认每
个URL 的密码保护响应,然后才能访问所需要的内容。密码保护响应以授权要求属性的形式出现。这种属性通过 URLConnection 和?br /> URL相关联。一旦授权要求被满足,当到达某个 URL 时,上面的信息是可以被访问的。

授权字符有着如下的形式“Authorization: Basic 用户名:密码,”其中,基本授权字段以Base64格式编码。(编码格式的描述可以
可以在 RFC 1113 中得到。一个RFC是一个“requst for comment”文档,基本上描述某些Internet 标准,在本例中,#1113 描述
了消息加密和授权程序,参见下面的 资源 ),为了编码,可以使用 sun.misc package 中的 BASE64Encoder 类,或者创建自己的类。 
?

为了建立这个访问,只需简单的确认 URL's URLConnection 是否有“授权”要求属性。下面的步骤描述了怎样进行。

步骤1:创建 URL

URL url = new URL (urlString);

步骤2:为specificURL 获得用户名称和密码

步骤3:将它们放入String并用冒号":"分开

String userPassword = theUsername + ":" + thePassword;

步骤4:对字符串进行编码

String encoding = new sun.misc.BASE64Encoder().encode (userPassword.getBytes());

步骤5: 通过 URL 创建 URLConnection

URLConnection uc = url.openConnection();

步骤6:为URLConnection 设置“授权”要求属性

uc.setRequestProperty ("Authorization", "Basic " + encoding);

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/jserkang/archive/2005/03/13/318623.aspx

URL 授权访问另外一种方法,利用 Java 1.1 访问密码保护的 URL相关推荐

  1. vue 获取请求url_vue 获取url里参数的两种方法小结

    我就废话不多说了,大家还是直接看代码吧~ 第一种: const query = Qs.parse(location.search.substring(1)) let passport = query. ...

  2. 结构成员访问的三种方法

    结构成员访问的三种方法 #include "stdio.h" #include "string.h" #include <stdlib.h> mai ...

  3. DL之DNN:自定义2层神经网络TwoLayerNet模型(计算梯度两种方法)利用MNIST数据集进行训练、预测

    DL之DNN:自定义2层神经网络TwoLayerNet模型(计算梯度两种方法)利用MNIST数据集进行训练.预测 导读 利用python的numpy计算库,进行自定义搭建2层神经网络TwoLayerN ...

  4. JS获取URL中参数值的4种方法

    方法一:正则法 function getQueryString(name) { var reg = new RegExp('(^|&)' + name + '=([^&]*)(& ...

  5. java遍历文件和归类_java读取文件的两种方法:java.io和java.lang.ClassLoader

    java读取文件的两种方法:java.io和java.lang.ClassLoader 什么时候使用java.io,什么时候使用java.lang.ClassLoader呢? (注:要是之前读xml文 ...

  6. 五种方法创建 Java 对象,你知道几种呢?

    点击上方蓝色"程序猿DD",选择"设为星标" 回复"资源"获取独家整理的学习资料! 来源 | 网络 五种方法创建java对象 作为Java开 ...

  7. java 集合初始化_6种方法初始化JAVA中的list集合

    List 是 Java 开发中经常会使用的集合,你们知道有哪些方式可以初始化一个 List 吗?这其中不缺乏一些坑,今天栈长我给大家一一普及一下. 1.常规方式 List languages = ne ...

  8. java保留两位小数4种方法,java保留两位小数4种方法,java两位小数4种

    java保留两位小数4种方法,java两位小数4种 java保留两位小数4种方法 方法一:String的format方法(推荐) double f = 111231.5585; System.out. ...

  9. PHP判断远程url是否有效的几种方法

    前提 需要判断远程URL是否有效,远程url包括远程图片,网页,视频等等元素 解决办法: 使用PHP解决 使用file_get_contents函数,不过优缺点如果url无法访问,会出现终止程序问题 ...

最新文章

  1. java判断用户是否在某一个区域登录_Java实现QQ登录和微博第三方登录
  2. 每天5分钟玩转python3算法:二分查找法
  3. wifi rssi 计算 距离_WiFi和WLAN是一样的?真相在这里
  4. 脱了马甲我也认识你: 聊聊 Android 中类的真实形态
  5. 进来,让BUG远离你!
  6. 安卓学习笔记01:安装集成开发环境Android Studio
  7. azure云数据库_从Azure Databricks将数据加载到Azure SQL数据库
  8. python处理音频的库_Python中音频处理库pydub的使用教程
  9. 实习成长之路:操作系统——CPU有哪些工作模式呢?
  10. WINDOWS系统一套基于现成软件的局域网视频转播系统方案
  11. mysql 2037年_Correct way to store MySQL date after year 2037
  12. 浙江大学软件学院 保研面试
  13. Qt在Win下调用系统的软键盘,区分win7\win8\win10
  14. 热搜!中科大一博士生打印学位论文,分量堪比书籍!可“惨”的是...
  15. 网页歌单html制作,网页内嵌网易云插件全程(包括生成自己歌单的外链)
  16. SpringBoot 文件管理微服务 支持FastDFS/FTP/阿里云存储、华为云存储/天翼云存储/联通云存储移动云存储
  17. 超详细!Vue-coderwhy个人学习笔记(二)(Day3)
  18. linux让文件所有用户可以读,Linux 下用户(andy)创建的文件可让特定用户(alice)修改...
  19. C语言除法”四舍五入“与“进一法”的实现
  20. 删除指定的iptables规则

热门文章

  1. 在centos服务器上运行第一个Helloworldjava程序
  2. C#实验报告 类与对象的访问性:银行账户存取款、新建账户、查询余额
  3. PAT1041 考试座位号 (15 分)
  4. Jenkins构建自动化任务
  5. java 总结几种线程异步转同步的方法
  6. leetcode--338. 比特位计数
  7. 【终极办法】windows下安装完MySQL,为什么cmd不识别命令?
  8. 【最详细】数据结构(C语言版 第2版)第二章课后习题答案 严蔚敏 等 编著
  9. 【传智播客】Javaweb程序设计任务教程 黑马程序员 第三章 课后答案
  10. 原理详解与标准解法——蓝桥杯_2016年省赛B组 第七题 剪邮票(暴力+迷宫变形)