0

これをJavaで呼び出すと:

URL url = new URL("http://www.google.com/finance/getprices?q=MSFT");
URLConnection goog = url.openConnection();
BufferedReader in = new BufferedReader(new InputStreamReader(goog.getInputStream()));

私はこれを例外として取得します:

java.io.IOException: Server returned HTTP response code: 503 for URL: http://www.google.com/sorry/?continue=http://www.google.com/finance/getprices%3Fq%3MSFTO%26

URL が呼び出されたときに自動的に生成されるため、関数に変換された URL がありません。元の URL は "continue=" の後の文字列です。この URL から戻すにはどうすればよいですか?

編集 :

このページを何度も呼び出しているため、この URL http://www.google.com/sorry/?continue=http://www.google.com/finance/getprices%3Fq%3MSFTO%26が生成され、次のように表示されます:

私たちのシステムは、あなたのコンピュータ ネットワークから異常なトラフィックを検出しました。このページでは、ロボットではなく、本当にあなたがリクエストを送信しているかどうかを確認します。continue= の後に URL をコピーすると、ページの実際のコンテンツが表示されます。

4

1 に答える 1

0

503 は、サービスがダウンしているか利用できないことを示す応答コードです。

ウィキリンク

ウィキペディアによると

503 Service Unavailable
The server is currently unavailable (because it is overloaded or down for maintenance).[2] Generally, this is a temporary state.

私はあなたのコードを試しましたが、これはうまくいっています(例外はありません)

    URL url = new URL("http://www.google.com/finance/getprices?q=MSFT");
    URLConnection goog = url.openConnection();
    BufferedReader in = new BufferedReader(new InputStreamReader(goog.getInputStream()));
    String temp;
    while((temp = in.readLine())!= null){
        System.out.println(temp);
    }
    }catch(Exception ex){
        ex.printStackTrace();
    }

そしてそれは私を返します

EXCHANGE%3DNASDAQ
MARKET_OPEN_MINUTE=570
MARKET_CLOSE_MINUTE=960
INTERVAL=86400
COLUMNS=DATE,CLOSE,HIGH,LOW,OPEN,VOLUME
DATA=
TIMEZONE_OFFSET=-240
a1370289600,35.59,35.63,34.83,34.92,51256272
1,34.99,35.74,34.771,35.62,65538438
2,34.78,34.89,34.43,34.6,46032657
3,34.96,35.11,34.49,34.84,37627133
4,35.67,35.78,35.06,35.25,40762249
7,35.47,35.65,35.14,35.51,35995223
8,34.84,35.18,34.68,35.05,39350316
9,35,35.27,34.85,35.14,37373032
10,34.715,35.02,34.59,34.99,45654803
11,34.4,34.6901,34.25,34.55,53116371
14,35,35.16,34.63,34.69,49672492
15,34.98,35.17,34.895,34.97,28622929
16,34.59,35.09,34.59,34.96,30820208
17,33.49,34.33,33.37,34.26,54496758
18,33.265,33.73,33.05,33.66,85338395
21,33.715,34.2,32.57,32.94,56113708
22,33.67,34.38,33.46,34.08,44073348
23,34.35,34.48,33.8875,34.12,48667834
24,34.62,34.78,34.5,34.52,28993542
25,34.545,34.79,34.34,34.38,65548196
28,34.36,34.99,34.33,34.75,31064000

したがって、おそらく問題は、お住まいの地域でサービスが一時的に利用できないことです.

于 2013-07-02T07:07:15.473 に答える