Java: Unterschied zwischen den Versionen

Aus wiki
Wechseln zu: Navigation, Suche
(HttpsUrlConnection)
Zeile 1: Zeile 1:
 
= Code Snippets =
 
= Code Snippets =
 +
[[Authentication Methods]]
 
== Regex ==
 
== Regex ==
 
=== Pattern Matching ===
 
=== Pattern Matching ===

Version vom 18. August 2014, 09:38 Uhr

Code Snippets

Authentication Methods

Regex

Pattern Matching

Named Matching

<syntaxhighlight lang="java">
private @Nullable String getToken(@Nonnull String responseURL) {</pre>
String patternString = "http://www.example.com/example#(token%3D(?<TOKEN>.+))%26otherstuff(.+%)";
Pattern pattern = Pattern.compile(patternString);
Matcher matcher = pattern.matcher(responseURL);
if(matcher.find()){
return matcher.group("TOKEN");
}
return null;
}
</syntaxhighlight>


Encoding

Base64 Encoding (Basic auth)

String base64encodedUsernameAndPassword = DatatypeConverter.printBase64Binary((username + ":" + password).getBytes());
webClient.addRequestHeader("Authorization", "Basic " + base64encodedUsernameAndPassword);

URL Parsing

List<NameValuePair> params = URLEncodedUtils.parse(new URI(url), "UTF-8");

HttpsUrlConnection

In Case of any ClassCast Exception:

java.lang.ClassCastException: com.sun.net.ssl.internal.www.protocol.https.HttpsURLConnectionOldImpl cannot be cast to javax.net.ssl.HttpsURLConnection

HttpsURLConnection con = (HttpsURLConnection) new URL(null,"http://httpbin.org/digest-auth/auth/user/passwd",
new sun.net.www.protocol.https.Handler()).openConnection();

InputStream Reader

       int c;
       StringBuilder responseJsonString = new StringBuilder();
       int len = connection.getContentLength();
       System.out.println("Content-Length: " + len);
       if (len > 0) {
           InputStream input = connection.getInputStream();
           int i = len;
           while (((c = input.read()) != -1) && (-i > 0)) {
               System.out.print((char) c);
               responseJsonString.append((char) c);
           }
           input.close();
       } else {
   }