有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

使用OkHTTP客户端和HttpsURLConnection的java不支持https获取请求方法“GET”

因为我需要通过post发送数据以启动API,但出现get not supported错误。即使我使用的是post方法,请指出我犯了什么错误。我尝试了OkHTTPClient和HTTPsURL连接,仍然得到相同的错误

Error: **{"timestamp":"2021-03-23T06:26:43.508+0000","status":405,"error":"Method Not Allowed","message":"Request method 'GET' not supported","path":"/stsBankResponse/"}**

当我在浏览器中直接点击URL时,也不允许使用getting方法,这是一个有效的错误,但在编程中仅使用Post,即使是相同的错误

JSONObject jsobj=new JSONObject();
        jsobj.put("authmode", "Abc");
        JSONArray jaarray = new JSONArray();
        jaarray.put(jsobj);
        JSONObject mainObj = new JSONObject();
        mainObj.put("bankResponseDtl", jaarray);
        String str_jsonparams = String.valueOf(mainObj);
        System.out.println("PU_Auth str_jsonparams->"+str_jsonparams);
        String proxyhost=common_utility.getProxyHost();
        String proxyport=common_utility.getProxyPort();
        Proxy proxy = new Proxy(Proxy.Type.HTTP, new InetSocketAddress(proxyhost, new Integer(proxyport)));
        
                OkHttpClient client = new OkHttpClient();
                OkHttpClient.Builder builder = new OkHttpClient.Builder();
                builder.connectTimeout(30, TimeUnit.SECONDS); 
                builder.readTimeout(30, TimeUnit.SECONDS); 
                builder.writeTimeout(30, TimeUnit.SECONDS); 
                builder.proxy(proxy);
                client = builder.build();
        RequestBody body = RequestBody.create(JSON, str_jsonparams);
        Request request = new Request.Builder()
     
                .url(common_utility.getEmandateServerResponeURL())
                .post(body)
                .build();

        client.newCall(request).enqueue(new Callback() {
            @Override
            public void onFailure(Call call, IOException e) {
                call.cancel();
                System.out.println("ECEEEEE"+e);
            }
@Override
            public void onResponse(Call arg0, Response arg1) throws IOException {
            }
        });

共 (0) 个答案