为了账号安全,请及时绑定邮箱和手机立即绑定

将 ruby​​ 中的 HTTP post 转换为 java 或 groovy

将 ruby​​ 中的 HTTP post 转换为 java 或 groovy

千万里不及你 2021-08-19 17:45:30
我有一些用于访问 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
查看完整描述

2 回答

  • 2 回答
  • 0 关注
  • 128 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信