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

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

ただいまの
回答率

88.23%

ソース取得できるサービス

解決済

回答 3

投稿

  • 評価
  • クリップ 0
  • VIEW 1,291

waritocomatta

score 65

たまたま見つけたこのコードを使うと、
JavaScriptで自分のサーバーを使わずに、
クロスドメイン関係無く、
他の場所のHTMLコードを取得できます。
しかし…

function _ryokurian_getSource(hc){
if(hc.match(/^error:(.+)/)){
}else{
hc=decodeURIComponent(hc);
}}
var sc=document.createElement("script");sc.id="_ryokurian_getSourceScript";sc.charset="utf-8";
sc.src="http://www.ryokurian.jp/atelier/geso/geso.php?url="+encodeURI(kokoni url)+"&fnc=_ryokurian_getSource&out=utf-8";
he=document.getElementsByTagName("head")[0];
org=document.getElementById(sc.id);
if(org==undefined){
he.appendChild(sc);
}else{
he.replaceChild(sc,org);
}


見てわかるように、
http://www.ryokurian.jp/atelier/geso/geso.php
のサーバーを通して他の場所のソースを取得しているもので、
このサーバー自体はホームページを見るところ、
個人運営のようなので、なるべく使わないつもりです。

代わりになるような、
似たサービスを探していいます。
(今、手元にあるフリーレンタルサーバーは外部サーバーとの接続が制限されていてこのような外部サービスを使わざるを得ないのです…;)

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

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

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

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 過去に投稿した質問と同じ内容の質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

質問への追記・修正、ベストアンサー選択の依頼

  • Chironian

    2016/01/05 15:14

    すいません。回答依頼を頂きましたが、JavaScriptには詳しくないので回答できません。

    キャンセル

回答 3

+1

サービスの永続性に期待しているようですが、個人/法人問わずに他者管理サイトを無条件にGETして公開するサービスはスクレイピングを助長するとして嫌われます。
余所で管理する以上、サービスの永続性には期待できないと思われます。

自己管理サイトならそのサイト側で他サイトからGETできる仕組みを作ってください。
他者管理サイトならスクレイピングになりますが、法的問題を孕んでいるので基本的には自分だけが見るサイトで実装する事になります。
自分が管理する別のサーバを立ててそこでPHP等でJSONP形式でGETするスクリプトを書いて下さい。

 Re: waritocomatta さん

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2016/01/05 15:14

    あっ… けして検索エンジンのように勝手にクロールしにくるものを作りたいわけではなく…
    自分のフリーの制限付きサーバー複数と連絡を取らせるための架け橋のようなものを探していまして…

    キャンセル

  • 2016/01/05 15:21

    確か…javascriptでリクエストすると配列のような形にして返してくれるサービスがあったようなないような…(゜゜)ウーン

    キャンセル

  • 2016/01/05 15:36

    繰り返しになりますが、その自己管理サーバに余所からGETするAPIを実装するのが常套手段かなと。

    キャンセル

  • 2016/01/05 21:49

    スミマセン…その自己管理サーバは外部サーバーにアクセス出来なくてですね…

    キャンセル

checkベストアンサー

0

類似のサービスというより、そもそもドメインの違う自分のサイト同士での通信をしたいということですよね。
http://www.goma.pw/article/2015-03-14-2/
このサイトで紹介されている3つの方法

  • Access-Control-Allow-Originを設定する
  • JSONPとして扱う
  • プログラムを経由させる

ですが、ご質問の状況なら基本的にどれでも実現可能なはずです。
最初の方法が手っ取り早いですが、お使いのレンタルサーバーの中に静的なHTMLのホスティングのみのサービスがあるなら1,2番目はおそらく不可なので3番目でしょう。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2016/01/05 21:46

     状況は1、2が不可の状況です。
    プログラムの経由というのは…
    例としてこのようなことでしょうか?
    [PHP可鯖]    [ブログ的サービス](どっちもレンタル鯖)
    →ファイルを ←読む(JavaScriptなど)
     作る       ↑クライアントによって動く

    私が行いたいのは…
    [ブログ的サービス]    [PHP可鯖](どっちもレンタル鯖)
    → ファイルがある ←読む(PHP)
    ですが、
    [PHP可鯖]は外部サーバーへのアクセスが禁止されています。
    よって…
                   返されたコード
    [ブログ的サービス]  [ローカル端末] ↓  [PHP可鯖](どっちもレンタル鯖)
    →ファイルがある   JavaScript等→POST→受信(PHP)
       ↑   コードを返す↑  ↓リクエスト
    ソース取得←←←[外部のWebページのソースがわかるサービス]

    のような体勢を取るつもりです。
    [外部のWebページのソースがわかるサービス]を探しています。

    キャンセル

  • 2016/01/05 22:14

    行いたいことはわかっています。
    ここで言う[外部のWebページのソースがわかるサービス]を作る方法が3番目の方法です。
    URLを見るとわかりますが、たった3行のPHPコードで実現できるプログラムなので実装上悩むことはないでしょう。

    既存のサービスをお探しの時点でお分かりと思いますが、この役割は関係ない別のサーバーでも果たせます。
    つまり、外部ドメインへのアクセスが制限されていないPHPレンタルサーバーを一つ用意すれば、すべてのサイト間で通信の橋渡しが可能だということです。
    すでに使用しているPHPサーバーが外部にアクセス出来るかどうかは関係なく、です。

    キャンセル

0

<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="jquery.xdomainajax.js"></script>
$.get("http://~",function(data){
console.log(data.responseText);
});


結構放置してしまいましたね…
上記のコードでうまくやってます〜
クロスドメインのいろいろが
まぁなんかとかなるものです。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

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

  • ただいまの回答率 88.23%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

同じタグがついた質問を見る