2012-04-05 5 views
9

ユーザーの最新のスピードテスト結果を表示するウィジェットを作成したいと思います。 speedtest.netには使えるAPIがありますか?私はhttp://speedtest.net/csv.php?csv=1&ria=0&s=0へのajaxリクエストを試みましたが、クロスドメインエラーが発生しました。私はiframeを試しましたが、それはちょうどダウンロードに表示されました。speedtest.net api

これはGoogle Chromeの拡張機能になりますので、必要に応じてchrome APIを使用できます。

答えて

9

speedtest.netはOokla and their Speed Test applicationで実行されます。残念ながら、彼らはあなたが使用できるspeedtest.netのための公開APIを提供していません。

これらのいずれかがお客様のニーズを満たしているかどうかは疑いがありますが、Speed Test Minihosted reporting solution for their full Speed Test software package(CSVエクスポート機能を含む)を提供しています。

AJAXを使用できない理由は、speedtest.netからの応答にAccess-Control-Allow-Originレスポンスヘッダーが設定されていないと、Chromeがクロスサイトリクエストを実行できないためです。

ただし、Chrome拡張機能では、manifest.jsonファイルのアクセス許可セクションにURLを追加することで、クロスオリジンリクエストを許可することができます。例えば:あなたは、文字列としてCSVデータを取得するためのjQueryのビットを使用することができます

"permissions": [ 
    "http://*/" 
], 

this answerを参照してください):

$.get('http://speedtest.net/csv.php?csv=1&ria=0&s=0', function(data) { 
    var csv = new String(data); 
    // do stuff with csv 
}, dataType='text'); 
+0

私はアクセス許可にspeedtest.netを持っています。あなたのコードを使用して、私はまだこのエラーが表示されます: XMLHttpRequestはhttp://speedtest.net/csv.php?csv=1&ria=0&s=0を読み込めません。 Origin chrome-extension:// pjmjaebdfmbljffjkcgegpgocnkoembfは、Access-Control-Allow-Originによって許可されていません。 – Ruby

+0

Hmm。代わりに '' http:// */''を権限に入れてみてください。 – Xenon

+0

@Zephlon:アクセス権に「http:// * /」 'が付いている運がありますか? – Xenon

1

クロム拡張でクロスオリジンのXMLHttpRequestsを作成することができます。の場合は、にアクセス権を要求しています。あなたのmanifest.jsonファイルで

、URIを追加します。

"permissions": ["http://speedtest.net/csv.php?*"] 

も参照してください:Match patterns

-1

MySpeed.todayを試してみてください。それはうまくいくかもしれません。

関連する問題