ASPサービス内で、「パスワード設定されたページ」の内容を他のページで表示させたいと考えています。
お知恵を拝借できれば幸いです。
html
1<form action="include.html" method="POST"> 2 <input type="password" name="password" value=""> 3 <input type="hidden" name="****" value="****"> <!-- ASPサービスのユーザー情報がセットされていました --> 4 <input type="hidden" name="****" value=""> <!-- 用途不明 --> 5 <input type="submit" value="送信"> 6</form>
上記は読み込み対象の「include.html」のパスワード入力前の状態です。
ASPサービスの管理画面でパスワードを設定した結果、自動的に生成されたフォームなので改変はできません。
実際にはこのフォームではなく、パスワード入力後の内容を親ページに読み込ませたいです。
試したこと
javascript
1var xhr = new XMLHttpRequest(), 2 method = "GET", 3 url = "include.html"; 4var wrapper = document.getElementById("wrapper"); // 親ページの表示先 5 6xhr.responseType="document"; 7xhr.open(method, url, true); 8xhr.onreadystatechange = function () { 9 if(xhr.readyState === 4 && xhr.status === 200) { 10 var responceTxt = xhr.responseXML; 11 var includeForm = responceTxt.querySelector('form'); 12 includeForm.getElementsByTagName('input')[0].setAttribute('value', 'hoge'); 13 // passwordのhogeをセット 14 includeForm = includeForm.submit(); // undefinedになりました 15 wrapper.innerHTML = includeForm.outerHTML; 16 } 17}; 18xhr.send();
上記のsubmitした行を削除すれば、パスワードをセットしたformは親ページに表示できているのですが
表示後にsubmitすると親ページが遷移してしまう為、行き詰まってしまいました。
そもそもxmlの状態でsubmitはできないのではと思い、改めてスクレイピングについて検索し
Chrome開発者ツールでパスワード入力後ページに渡されたCookieの値を確認する、という事も行ったのですが
個々の情報を結びつけどうやって形にしたらいいのか、根本的に間違っていないか、判らず
ご相談させていただきました。
追記: 親ページと子ページは同一ドメイン、パスワードは平文で記載してしまって問題ない状況です。
恐れ入りますがアドバイスの程宜しくお願い致します。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/06/12 09:20 編集
2021/06/13 02:09
2021/06/13 05:12
2021/06/13 05:42
2021/06/13 06:39