2017-08-04 15 views
1

APIをhaveibeenpwned.comからクエリするJavaプログラムを作成しました。そして、私は出力を取得し、ほぼすべての時間:ので、私はそれを説明することができませんし、私は他のエラーを見つけることができませんなぜ私はAPIのクエリでHttp 503エラーが発生する

run: 
Fehler 
java.lang.RuntimeException: Failed : HTTP error code : 503 
BUILD SUCCESSFUL (total time: 0 seconds) 

だDDOS保護のように見えますが、私のブラウザでは、すべてが正常に動作します。

マイコード:事前にあなたの助けを

package checkpassword; 

import java.io.BufferedReader; 
import java.io.File; 
import java.io.FileNotFoundException; 
import java.io.FileReader; 
import java.io.InputStreamReader; 
import java.net.HttpURLConnection; 
import java.net.URL; 
import java.util.ArrayList; 



public class CheckPassword 
{ 

    //Thats an old Email from Me ^^ 
    final static String testMail = "[email protected]"; 

    public static void main(String[] args) 
    { 

//  ArrayList<String> mailList = createEmailList(); 
//   
//  for(int i=0; i<mailList.size(); i++) 
//  { 
      System.out.println(getOutput(testMail)); 
//  } 

    } 



    public static String getOutput(String Mail) 
    { 

     String output; 

     try 
     { 

      URL url = new URL("https://haveibeenpwned.com/api/breachedaccount/" + Mail); 
      HttpURLConnection conn = (HttpURLConnection) url.openConnection(); 
      conn.setRequestProperty("User-Agent", "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.4; en-US; rv:1.9.2.2) Gecko/20100316 Firefox/3.6.2"); 
      conn.setRequestMethod("GET"); 
      conn.setRequestProperty("Accept", "application/json"); 

      if (conn.getResponseCode() != 200) 
      { 
       throw new RuntimeException("Failed : HTTP error code : " 
         + conn.getResponseCode()); 
      } 

      BufferedReader br = new BufferedReader(new InputStreamReader((conn.getInputStream()))); 

      output = br.readLine(); 

      conn.disconnect(); 

     }catch (Exception ex) 
     { 
      output = "Fehler"; 
      System.err.println(ex); 
     } 
     return output; 
    } 

    public static ArrayList createEmailList() 
    { 

     ArrayList<String> mailList = new ArrayList<>(); 

     try 
     { 

     FileReader fr = new FileReader("C:/Users/s.kobe/Desktop/test.txt"); 
     BufferedReader br = new BufferedReader(fr); 

     while(true) 
     { 
      String Zeile = br.readLine(); 
      if(Zeile != null) 
      { 
       mailList.add(Zeile); 
      }else{ 
       break; 
      } 
     } 

     br.close(); 

     }catch(Exception ex) 
     { 
      System.err.println(ex); 
     } 

    return mailList;  
    } 

} 

おかげ

サンドロ

//私はすべての重要なを説明していることだと思うので、私は私の質問をするための要件に達していくつかのテキスト物語

答えて

0

HTTP 503はサービスが一時的に利用できないことを意味します。

しかし、ブラウザでうまく動作すると言えば、Webサーバーはあなたのようなスクリプトにこのように応答するように設定されている可能性があります。

User Agent文字列をスプーフィングすることができます。つまり、最新のウェブブラウザであるとふりかえり、サーバーの応答が異なるかどうかを確認できます。 curlを調べると、コマンドラインですぐにこれを試すことができます。

関連する問題