質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Google Apps Script

Google Apps ScriptはGoogleの製品と第三者のサービスでタスクを自動化するためのJavaScriptのクラウドのスクリプト言語です。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Q&A

解決済

1回答

1346閲覧

GASでinput[]の形でデータを送信してパスワード付きのページ情報を入手したいです。

YUKI_B

総合スコア77

Google Apps Script

Google Apps ScriptはGoogleの製品と第三者のサービスでタスクを自動化するためのJavaScriptのクラウドのスクリプト言語です。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

0グッド

1クリップ

投稿2022/02/22 01:13

編集2022/02/22 01:21

前提・実現したいこと

https://monoblog.jp/archives/8044
上記のサイトを参考にしてパスワード内部のデータを入手したいと考えております。

発生している問題・エラーメッセージ

ログインエラーが起きているようでログインを行うソースしか入手できません

該当のソースコード

javascript

1function gas_login(){ 2 var login_url = "https://xxxxxxx.com/login"; 3 4 //ログイン情報(PayLoadデータ) 5 var payload_data = { 6 login_id: "ログインID", 7 password: "ログインパスワード", 8 login: "ログイン" 9 }; 10 11 //POSTデータ(POSTオプション) 12 var post_option = { 13 method: "post", 14 payload: payload_data, 15 followRedirects: false 16 }; 17 18 //レスポンス(POSTリクエスト) 19 var response = UrlFetchApp.fetch(login_url, post_option); 20 21 //レスポンスのヘッダーからcookieを取得 22 var cookies = response.getHeaders()["Set-Cookie"]; 23 24 // ログインで認証されたcookieはヘッダーで使用 25 var header = { Cookie: cookies }; 26 var get_option = { 27 method: "get", 28 headers: headers, 29 followRedirects: true, 30 }; 31 var scraping_url = "https://xxxxxxx.com"; 32 33 response = UrlFetchApp.fetch(scraping_url, get_option); 34 var content = response.getContentText("UTF-8"); 35 36 var regText = /文字列/ 37 var html = content.match(regText); 38 39 Logger.log(html); 40}

試したこと

javascript

1 //ログイン情報(PayLoadデータ) 2 var payload_data = { 3 login_id: "ログインID", 4 password: "ログインパスワード", 5 login: "ログイン" 6 };

上記のサイトではログイン情報に使うpayloadデータは以上のような形になっていますが
私が入りたいサイトのログイン時のデータをGoogle choromeの検証機能を使って確認しますと

javascript

1input[user_id]: 〇〇〇00122 2input[password]: 〇〇 3submit: ログイン

もちろん上記は仮のデータですが、フォームデータがこのような形になっていました。

javascript

1 //ログイン情報(PayLoadデータ) 2 var payload_data = { 3 user_id: "ログインID", 4 password: "ログインパスワード", 5 submit: "ログイン" 6 };

上をinput[]の形で送信したいのですが、どのような形で送ればいいのかを知りたいと考えています。
ご教授いただければ幸いです。

追記:ログイン元のソースコード

javascript

1<form method="post" class="signinForm"> 2 <dl> 3 <dd> 4 <label for="inputLoginId" class="userIdLabel"> 5 <input type="text" id="inputLoginId" name="input[login_id]" value="" placeholder="ログインID"> 6 </label> 7 </dd> 8 <dd> 9 <label for="inputPassword" class="passwordLabel"> 10 <input type="password" id="inputPassword" name="input[password]" placeholder="パスワード" data-pkey="p0"> 11 <span id="pToggle0" class="pToggle disabled"></span></label> 12 </dd> 13 </dl> 14 <input type="submit" name="submit" value="ログイン" class="bt submit"> 15</form>

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

JavaScript

1//ログイン情報(PayLoadデータ) 2 var payload_data = { 3 "input[login_id]": "ログインID", 4 "input[password]": "ログインパスワード", 5 login: "ログイン" 6 };

これでいいのでは?

連想配列のkeyをダブルクォーテーションやクォーテーションで囲えば問題ありません

投稿2022/02/22 10:48

sk-sora--ypi

総合スコア528

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

YUKI_B

2022/02/24 01:44

回答いただきありがとうございます。 差し当たり記述エラーが起こることはなくなりました。 ・・・まだエラーが起きてログイン元のソースしかでていませんが ほかの事案が起きたのでそれが解決し次第にまたこれを取り組んでみます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問