Use REST service via a proxy server with socket(Java)
From WABI
Contents |
Summary
Use REST service via a proxy server with socket (Java)
Description
To use proxy with socket, specify REST service's URL after making socket connection to proxy server.
// open socket Socket socket = new Socket(proxyHost, proxyPort); // send query String url = "http://xml.nig.ac.jp/rest/Invoke"; BufferedReader br = new BufferedReader(new InputStreamReader(socket.getInputStream())); PrintStream pw = new PrintStream(socket.getOutputStream()); pw.print("POST " + url + " HTTP/1.0\n"); pw.print("User-Agent: java/socket\n");
Sample program
This program executes getDDBJEntryof GetEntry via a proxy server with socket of Java.
Download this program
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintStream;
import java.net.Socket;
import java.net.URL;
import java.net.URLConnection;
public class RestSocket {
public static void main(String[] args) throws IOException {
//set proxy server
String proxyHost = "<proxy_server>";
int proxyPort = <proxy_port>;
//set API server
String url = "http://xml.nig.ac.jp/rest/Invoke";
//set parameter
String query = "service=GetEntry&method=getDDBJEntry&accession=AB000200";
//open socket
Socket socket = new Socket(proxyHost, proxyPort);
//send query
BufferedReader br = new BufferedReader(new InputStreamReader(socket.getInputStream()));
PrintStream pw = new PrintStream(socket.getOutputStream());
pw.print("POST " + url + " HTTP/1.0\n");
pw.print("User-Agent: java/socket\n");
pw.print("Content-Type: application/x-www-form-urlencoded\n");
pw.print("Content-Length:" + query.length() + "\n\n");
pw.print(query);
//get result
String l = null;
while ((l=br.readLine())!=null) {
System.out.println(l);
}
pw.close();
br.close();
}
}
