gpt4 book ai didi

java - 为什么 GET 请求在 PostMan 上总是给出 200,但在 Java 应用程序中给出 504?

转载 作者:太空宇宙 更新时间:2023-11-04 10:39:15 25 4
gpt4 key购买 nike

我目前正在与一家公司的 API 集成,我能够在 PostMan 中访问他们的订单检索端点,获得 200OK 状态,但在我的 java 应用程序中,我尝试使用 OkHttp3、Unirest 甚至我自己的 HttpReq 库来访问端点,但无论我使用哪个库,我最终都会得到

<head><title>504 Gateway Time-out</title></head>
<body bgcolor="white">
<center><h1>504 Gateway Time-out</h1></center>
<hr><center>nginx/1.4.6 (Ubuntu)</center>
</body>
</html>

我的 java HttpRequest 和 PostMan 的 header 、参数、url 是相同的,因为我将 Java 中所有变量打印结果中的 URL、参数、 header 复制到 PostMan 中。我什至尝试使用 PostMan 提供的 Java 片段 (HttpOk3/UniRest),但仍然收到 504。我还尝试将超时设置为无穷大等。我可能做错了什么?

这是我用 Unirest 制作的 java HttpRequest:

         try {
Unirest.setTimeouts(30000, 100000);
HttpResponse<String> response = Unirest.get(this.getOrderUrl)
.queryString("access_token", config.getAccessToken())
.queryString("id", circleGraphicsOrderId)
.header("content-type", "application/json")
.header("cache-control", "no-cache")
.header("authorization", "Basic Og==")
.asString();
} catch (UnirestException e) {
e.printStackTrace();
}

如果你们中有人想和我一起测试的话,这是 API 凭据:

(参数内置于 url 中)网址 = https://rest.cgorders.com/api/orders/order?access_token=97484431a4525ed2b294b699a3d2f202&id=15755354

参数为:{access_token:97484431a4525ed2b294b699a3d2f202, id:15755354}

编辑:已解决!我使用了古怪的 HttpRequest 库,因为我们公司的代码有很多使用此类库的用例。使用 Markspace 所提供的 java 解决了这个问题。

最佳答案

以下内容对我有用。您需要更改哪些内容才能使其按您想要的方式工作?

public class GetRequest {

public static void main( String[] args ) {
System.out.println( new GetRequest().get( "" ) );
}

public String get( String search ) {

try {
URL url = new URL( "https://rest.cgorders.com/api/orders/order?access_token=97484431a4525ed2b294b699a3d2f202&id=15755354" );
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setRequestMethod( "GET" );
conn.setRequestProperty( "Accept", "application/json" );

conn.connect();

BufferedReader br = new BufferedReader( new InputStreamReader(
conn.getInputStream(), "UTF-8" ) );

StringBuilder sb = new StringBuilder( 2048 );
for( String line; (line = br.readLine()) != null; ) {
sb.append( line );
}
conn.disconnect();

return sb.toString();

} catch( IOException ex ) {
Logger.getLogger( Pixabay.class.getName() ).log( Level.SEVERE, null, ex );
return ex.toString();
}

}
}

关于java - 为什么 GET 请求在 PostMan 上总是给出 200,但在 Java 应用程序中给出 504?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49183415/

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