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

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

新規登録して質問してみよう
ただいま回答率
85.35%
Curl(プログラミング言語)

Curl(プログラミング言語)は、Webコンテンツ向けのプログラミング言語。HTMLのようなテキスト記述やレイアウトデザイン、JavaScript のようなオブジェクト指向プログラム言語、Java のような重量機能など複数の言語の特徴を一つのフレームワークに統合しています。

cURL

cURLはHTTP, FTPやTelnetなど複数のプロトコルを用いてデータを転送するライブラリとコマンドラインツールを提供します。

Webサイト

一つのドメイン上に存在するWebページの集合体をWebサイトと呼びます。

JavaScript

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

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

Q&A

解決済

2回答

8247閲覧

curlコマンドでHTML(JavaScript)の戻り値の取得の方法

buru7052

総合スコア5

Curl(プログラミング言語)

Curl(プログラミング言語)は、Webコンテンツ向けのプログラミング言語。HTMLのようなテキスト記述やレイアウトデザイン、JavaScript のようなオブジェクト指向プログラム言語、Java のような重量機能など複数の言語の特徴を一つのフレームワークに統合しています。

cURL

cURLはHTTP, FTPやTelnetなど複数のプロトコルを用いてデータを転送するライブラリとコマンドラインツールを提供します。

Webサイト

一つのドメイン上に存在するWebページの集合体をWebサイトと呼びます。

JavaScript

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

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

0グッド

0クリップ

投稿2020/05/09 15:11

お世話になります。
HTML初心者なのですが、下記についてやり方を教えてください。

実現したいこと

ローカルにWebサイトを構築して、そのサイトに対して、curlコマンドで引数込みでアクセスすると戻り値を取得できるようにしたいです。

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

ブラウザでアクセスすると結果が取得出来るのですが、curlコマンドで実行すると、HTMLの中身が出力されてしまいます。
そもそも、curlコマンドで実行した際に戻り値のみ取得する方法をご教授いただけますでしょうか

該当のソースコード

HTML

1index.html 2<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 3<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja"> 4<meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> 5<meta http-equiv="Content-Script-Type" content="text/javascript"> 6<title> テスト</title> 7</head> 8<body> 9<script type="text/javascript" src="./js/calc.js"> 10</script> 11</body> 12</html>

Javascript

1//メイン 2window.onload = function Main(){ 3 // URLのパラメータを取得 4 var urlParam = location.search.substring(1); 5 try { 6 if(urlParam=="") { 7 throw new Error("パラメーターを指定してください"); 8 } 9 else{ 10 var reg = new this.RegExp(/^[a-zA-Z]/); 11 if (reg.test(urlParam)) { 12 throw new Error("英字があります。"); 13 } 14 } 15 document.write(`<p>${urlParam}</p>`); 16 } 17 catch(e) { 18 document.write("<p>ERROR</p>");  19 } 20}

実効結果

http://localhost/~ユーザディレクトリ/Sites/?1
1.ブラウザでのアクセス結果 → 1 が表示される(求めている結果)
2.curlコマンドでの実行結果 → HTMLの中身が表示されてしまう

環境情報

Apache

以上
よろしくお願いします。

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

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

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

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

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

guest

回答2

0

ベストアンサー

curlコマンドで実行すると、HTMLの中身が出力されてしまいます。

そういうものです。HTML上のJavaScriptはブラウザで実行されるので、ヘッドレスブラウザなどを使わないと結果だけ取得することはできません。

投稿2020/05/09 15:16

kei344

総合スコア69606

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

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

buru7052

2020/05/10 01:43

回答ありがとうございます。 ヘッドレスブラウザについて、調べてみます。
guest

0

kei344 さんの回答の通りですが、PHP や Java などサーバーサイドで実行される言語を使わないと難しいと思います。

サーバーが自由にできるのであれば、node.js 等を使えば、JavaScript をサーバーサイドで動かすということも出来なくはないですが。

投稿2020/05/09 15:28

Yasumichi

総合スコア1773

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

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

buru7052

2020/05/10 02:51

ご回答ありがとうございます。 試しにNode.jsに置き換えて実行したら期待通りの動きになりました!!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問