gpt4 book ai didi

java - 为什么我通过查询 API 得到一个 Http 503 错误

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:24:36 24 4
gpt4 key购买 nike

我编写了一个从 haveibeenpwned.com 查询 API 的 Java 程序。几乎每次我得到输出:

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 = "cool-man25@web.de";

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;
}

}

提前感谢您的帮助

桑德罗

//一些我达到提出问题要求的文本,因为我认为我解释了所有重要的东西

最佳答案

HTTP 503表示服务暂时不可用。

但是,既然您说它在浏览器中工作得很好,那么 Web 服务器很可能被配置为以这种方式响应脚本,例如您的脚本。

您可以尝试欺骗 User Agent字符串,这意味着您可以伪装成现代网络浏览器,并查看服务器的响应是否不同。您可能想查看 curl ,这将使您可以在命令行上快速尝试。

关于java - 为什么我通过查询 API 得到一个 Http 503 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45507272/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com