Samples - Java
        
        HTTP(S) Service
        The following samples were created and tested using the JDK version 6. Using the TextAnywhere HTTP(S) Service is just a case of making HTTP(S) requests from your application. This is quite straight-forward using java.io and java.net. 
        Sending an SMS using the HTTP(S) GET method:
    
    
    try{
    // Create a URL for the desired page
    URL url = new URL("https://ws.textanywhere.net/HTTPRX/SendSMSEx.aspx?Client_ID=my_id&Client_Pass=my_pass&Client_Ref=my_ref&Billing_Ref=billing_ref&Connection=2&Originator=%2b447912345678&OType=0&DestinationEx=%2b447923456789&Body=hello%20world&SMS_Type=0&Reply_Type=0");
        
    URLConnection conn = url.openConnection();
    
    // Read all the text returned by the server
    BufferedReader rd = new BufferedReader(new 
    InputStreamReader(conn.getInputStream()));
    String str;
    String result = "";
    while ((str = rd.readLine()) != null) {
    result += str + "\r\n";
    }
    rd.close();
    
    System.console().writer().write(result);
    System.console().flush();
    
    } catch (MalformedURLException e) {
    } catch (IOException e) {
    }
    
    
        Sending an SMS using the HTTP(S) POST method:
 
    
    
    try{
    // build up the query string
    String data = URLEncoder.encode("Client_ID", "UTF-8") + "=" + URLEncoder.encode("my_id", "UTF-8");
    data += "&" + URLEncoder.encode("Client_Pass", "UTF-8") + "=" + URLEncoder.encode("my_pass", "UTF-8");
    data += "&" + URLEncoder.encode("Client_Ref", "UTF-8") + "=" + URLEncoder.encode("my_ref", "UTF-8");
    data += "&" + URLEncoder.encode("Billing_Ref", "UTF-8") + "=" + URLEncoder.encode("billing_ref", "UTF-8");
    data += "&" + URLEncoder.encode("Connection", "UTF-8") + "=" + URLEncoder.encode("2", "UTF-8");
    data += "&" + URLEncoder.encode("Originator", "UTF-8") + "=" + URLEncoder.encode("+447912345678", "UTF-8");
    data += "&" + URLEncoder.encode("OType", "UTF-8") + "=" + URLEncoder.encode("0", "UTF-8");
    data += "&" + URLEncoder.encode("DestinationEx", "UTF-8") + "=" + URLEncoder.encode("+447923456789", "UTF-8");
    data += "&" + URLEncoder.encode("Body", "UTF-8") + "=" + URLEncoder.encode("hello world", "UTF-8");
    data += "&" + URLEncoder.encode("SMS_Type", "UTF-8") + "=" + URLEncoder.encode("0", "UTF-8");
    data += "&" + URLEncoder.encode("Reply_Type", "UTF-8") + "=" + URLEncoder.encode("0", "UTF-8");
    
    // Create a URL for the desired page
    URL url = new URL("https://ws.textanywhere.net/HTTPRX/SendSMSEx.aspx");
    
    URLConnection conn = url.openConnection();
    conn.setDoOutput(true);
    OutputStreamWriter wr = new OutputStreamWriter(conn.getOutputStream());
    wr.write(data);
    wr.flush();
    
    // Get the response
    BufferedReader rd = new BufferedReader(new InputStreamReader(conn.getInputStream()));
    String str;
    String result = "";
    while ((str = rd.readLine()) != null) {
    result += str + "\r\n";
    }
    wr.close();
    rd.close();
    
    System.console().writer().write(result);
    System.console().flush();
    } catch (MalformedURLException e) {
    } catch (IOException e) {
    }
    
    
        If you need to specify proxy details you can do so following the call to url.openConnection();. It will require you to base64 encode the username and password, colon separated :
    
    
    System.setProperty("http.proxyHost","proxy_ip");
    System.setProperty("http.proxyPort","proxy_port");
    conn.setRequestProperty( "Proxy-Authorization", “base64 encoded username:password” );