【问题标题】:How to split an URL in Java [duplicate]如何在 Java 中拆分 URL [重复]
【发布时间】:2018-11-16 13:05:20
【问题描述】:

您好,我有一个从服务器获取的 URL:

http://localhost.osc-ref.dockercloud.fiducia.de/login?code=11448259-7efe-4c6e-bbce-216bb8578bd5&scope=openid&iss=https%3A%2F%2Fr8840-e40-e.t1.web.fiducia.de%3A443%2Fservices_my-account%2Foauth2%2FXC8840&state=myScope&client_id=fkp

我现在需要的是从查询中获取“code”,即这部分 11448259-7efe-4c6e-bbce-216bb8578bd5,如何拆分此字符串以便仅获取代码或其他使用 Java 的参数。

【问题讨论】:

    标签: java android url


    【解决方案1】:

    您可以使用以下代码获取查询参数code 的值。

    String url = "http://localhost.osc-ref.dockercloud.fiducia.de/login?code=11448259-7efe-4c6e-bbce-216bb8578bd5&scope=openid&iss=https%3A%2F%2Fr8840-e40-e.t1.web.fiducia.de%3A443%2Fservices_my-account%2Foauth2%2FXC8840&state=myScope&client_id=fkp";
    Uri uri = Uri.parse(url);
    String code = uri.getQueryParameter("code");
    Log.e("Value for query-param:", code);
    

    【讨论】:

    • 谢谢它完全符合我的要求
    【解决方案2】:

    试试这个,

    import org.apache.hc.client5.http.utils.URLEncodedUtils
    
    String url = "http://www.example.com/something.html? 
    one=1&two=2&three=3&three=3a";
    
    List<NameValuePair> params = URLEncodedUtils.parse(new URI(url), 
    Charset.forName("UTF-8"));
    
    for (NameValuePair param : params) {
         System.out.println(param.getName() + " : " + param.getValue());
    }
    

    【讨论】:

      猜你喜欢
      • 2021-12-13
      • 1970-01-01
      • 2013-12-10
      • 2023-03-23
      • 1970-01-01
      • 2018-04-17
      • 1970-01-01
      • 2014-05-02
      • 2013-07-18
      相关资源
      最近更新 更多