我有一些用于访问 API 的 ruby http post 代码,但现在我需要将其转换为 java 或 groovy这是我在 ruby 上的代码def loginWithEmailPassword(str_email, str_password) uri = URI(url) req = Net::HTTP::Post.new(uri) req['Content-Type'] = 'application/json' req['x-request-id'] = "xyz-#{SecureRandom.hex}" req['user-agent'] = 'xyz' req.body = { email: str_email, password: str_password }.to_json Net::HTTP.start(uri.host, uri.port, :use_ssl => uri.scheme == 'https', :verify_mode => OpenSSL::SSL::VERIFY_NONE) do |http| response = http.request(req) # Net::HTTPResponse object if(response.code != '200') puts response.body # Show response body raise ("ERROR: login error... error code #{response.code}") end return response.body endend这是我在java上的代码 def loginApiWithEmailPassword(String sEmail, String sPassword){ URL url = new URL(m_url + "/login/password"); JSONObject json = new JSONObject(); json.put("email", sEmail); json.put("password", sPassword); HttpURLConnection conn = (HttpURLConnection)url.openConnection();// set header conn.setRequestMethod("POST") conn.setRequestProperty("Content-Type", "application/json"); conn.setRequestProperty("user-agent", aaa); conn.setRequestProperty("x-request-id", getSecureRandom(s)) conn.setDoOutput(true); conn.setDoInput(true); OutputStream os = conn.getOutputStream(); os.write(json.toJSONString().getBytes()); os.close();我试图将其转换为 java 但失败了,卡在错误上 "javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target"并且无法继续检查下一个功能,谁能帮我完成java或groovy的http post
添加回答
举报
0/150
提交
取消