Use REST service via a proxy server with socket(Java)

From WABI

Jump to: navigation, search

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();
	}
}

Link

Japanese page

Personal tools