日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

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

發布時間:2024/1/23 java 49 豆豆
生活随笔 收集整理的這篇文章主要介紹了 URL 授权访问另外一种方法,利用 Java 1.1 访问密码保护的 URL 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

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的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。