トップへ戻るニュースフォーラムFLASH-ML 過去ログBak@Flaダウンロードよくある質問と答
ログイン
ユーザ名:

パスワード:


パスワード紛失

新規登録
メインメニュー
メイン
   コーダーズルーム【スクリプト系】
     Basic認証サイトからXMLの取得
投稿するにはまず登録を

フラット表示 前のトピック | 次のトピック
投稿者 スレッド
ken1kun
Åê¹ÆNo.21973
投稿日時: 2005-12-3 20:35
半人前
居住地:
投稿: 52
使用環境:
Basic認証サイトからXMLの取得
実現したいのは、
Basic認証で保護されたサイトからXMLデータを取得する。
というものです。

LoadVars.addRequestHeader に関して
こちらのスレッド「 BASIC認証サイトでのsendAndLoad」で話されていますが、解決できなかったのでご質問させていただきます。


以下テストスクリプトASを書き動作チェックを行っています。
環境はv8+AS2書出 + player8再生です。
Base64エンコードには、blog-jのBase64を使用しています。
http://blog.jasonnussbaum.com/?p=108#more-108

addRequestHeaderはPOST時にしかつけることができないという認識でいます。
なので、sendAndLoadを使用して、適当なXMLデータをPOSTたうえで
XMLを取得しようという作戦でテストしています。

結果は、下記結果HTTPヘッダで示した通信が行われますが、Swfにはレスポンスがないという状態です。
tmpXmlObjLoad.onLoadを記述していますが、JSが呼ばれないので。
実は認証はされているのではないかと思い、ブラウザの
「一度認証すると、ブラウザを閉じない限り認証ダイアログは出ない」
をつかって、後に通常GETでXML取得するスクリプトを追記しテストしましたが
認証ダイアログが出てしまいましたorz;

これってできないのでしょうか?
どなたかご教授願います。
よろしくお願いいたします。


■テストスクリプト
http://localhost/testDir/はBasic認証がかかっており、ユーザ名:username、パスワード:passwd でページを開けるものとします。
・なぜかjavaとscriptの間に半角スペースが入りますが実際は入っていません。
var userNameStr = "username";
var passwdStr = "passwd";
var unEncoded = userNameStr + ":" + passwdStr;
var auth_str = Base64.Encode(unEncoded);

var trgXml = "http://localhost/testDir/test.xml";
var tmpXmlObjSend = new XML("<test>test</test>");
tmpXmlObjSend.addRequestHeader("Authorization", "Basic " + auth_str);

var tmpXmlObjLoad = new XML();
tmpXmlObjLoad.onLoad = function(s){
	if(s){
		//成功
		getURL("java script:alert('" + "OK" +"')")
		//getURL("java script:alert('" + this +"')")
	}else{
		//不成功
		getURL("java script:alert('" + "ERROR" +"')")
	}
}
tmpXmlObjSend.sendAndLoad(trgXml,tmpXmlObjLoad);



■結果HTTPヘッダ ※一部修正

POST /testDir/test.xml HTTP/1.1
Accept: */*
x-flash-version: 8,0,22,0
Content-Type: application/x-www-form-urlencoded
Authorization: Basic dXNlcm5hbWU6cGFzc3dk
Content-Length: 1
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/4.0
Host: localhost
Connection: Keep-Alive
Cache-Control: no-cache
Cookie: user=****; loginkey=****;

<test>test</test>

 
HTTP/1.1 200 OK
Date: Thu, 08 Dec 2005 02:20:09 GMT
Server: Apache/1.3.27 (Unix)
X-Powered-By: PHP/4.3.9
Cache-Control: private, pre-check=0, post-check=0, max-age=0
Last-Modified: Wed, 07 Dec 2005 04:58:46 GMT
Etag: "**********"
Expires: Thu, 08 Dec 2005 02:20:10 GMT
Keep-Alive: timeout=15, max=100
Connection: Keep-Alive
Transfer-Encoding: chunked
Content-Type: text/xml; charset=utf-8
フラット表示 前のトピック | 次のトピック

題名 投稿者 日時
 » Basic認証サイトからXMLの取得 ken1kun 2005-12-3 20:35
     Re: Basic認証サイトからXMLの取得 ken1kun 2005-12-6 7:03
       Re: Basic認証サイトからXMLの取得 kasai 2005-12-16 11:03

投稿するにはまず登録を
 
Copyright (C) 2003 FLASH-japan. All rights reserved.
Powered by Xoops