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

From WABI

Jump to: navigation, search

Contents

Summary

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

Description

To use proxy with socket, specify REST service's URL after making socket connection to proxy server.

sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
url = "http://xml.nig.ac.jp/rest/Invoke"
sock.connect((proxy_host, proxy_port))
sock.send("POST " + url + " HTTP/1.0\n")
sock.send("Content-Type: application/x-www-form-urlencoded\n")
sock.send("User-Agent: python/socket\n")

Sample program

This program executes getDDBJEntryof GetEntry via a proxy server with socket of Python.
Down load this program

import socket

#set proxy server
proxy_host = "<proxy_server>"
proxy_port = <proxy_port>

#set API server
url = "http://xml.nig.ac.jp/rest/Invoke"

#set parameter
query = "service=GetEntry&method=getDDBJEntry&accession=AB000200"

#make connection
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

try:
	sock.connect((proxy_host, proxy_port))
	sock.send("POST " + url + " HTTP/1.0\n")
	sock.send("Content-Type: application/x-www-form-urlencoded\n")
	sock.send("User-Agent: python/socket\n")
	sock.send("Content-Length:" + `len(query)` + "\n\n")
	sock.send(query)
except socket.error, e:
	print 'Error: %s' % e

while 1:
	rcvmsg = sock.recv(1024)
	print rcvmsg,
	if rcvmsg == '':
		break
sock.close

Link

Japanese page

Personal tools