requestHttp

 

 

Description

The requestHttp function cannot be called directly. Both getHttp and postHttp call this function to fetch information from the internet. The only difference between these two functions is that postHttp includes an extra argument for specifying the body of the POST request. Typically a POST request is used to submit a request containing names and values to be returned from a form.

The first argument to requestHttp is a Uniform Resource Locater (URL). The URL specifies the server and web page to be formed. In the following examples, "host" stands for the IP address or the domain name such as www.yahoo.com to be accessed. If it is omitted, the current host is used. If no current host connection has been established, host is set to localhost. If a host is specified, it may be followed by a colon plus the port number of the host. If no port number is specified, the port number defaults to 80.

If a portion of the URL is omitted, requestHttp uses the default value. The host must follow a pair of slashes and a web page must follow a single slash. The web page specification is case-sensitive if the host is a UNIX-type server. The host specification is not case-sensitive. If no web page is specified, the host returns the default home page. Web pages must be absolute, starting with a slash. The following URL's are recognized:

All of the HTML tags are included; however, documents referenced within the HTML tags, such as images, are not fetched.

When to use

This function is not available directly. It can only be used indirectly via getHttp or postHttp.

 

Syntax

(requestHttp url filename msecToWait)



Name Description AIS Types
url Any complete or partial URL as described above. Required.Symbol
filenameIf provided, the returned web page is saved in the specified file on the client machine. The file is saved in a path relative to the current working directory. Optional argument.Text String
msecToWaitIf provided, it sets the maximum time to wait for a page to be returned from the host. If no response occurs in the allotted time, an error message is returned. The default value for this parameter is about 2000 msecs.Integer


Returns:

Returns the entire contents of the specified HTML page including all tags. If the timeout expires or if an error is detected, an error message is returned.

 

Examples

Here are a number of links to Lambda coding examples which contain this instruction in various use cases.

 

Argument Types

Here are the links to the data types of the function arguments.

Integer String Text

Here are also a number of links to functions having arguments with any of these data types.

++(Symbol) +=(Symbol) +(Complex) +(Number)
/=(Symbol) /(Complex) /(Number) *=(Symbol)
*(Complex) *(Number) --(Symbol) -=(Symbol)
-(Complex) -(Number) abs(Complex) abs(Number)
addMethod(BitVector) addMethod(Boolean) addMethod(Brick) addMethod(Character)
addMethod(CpxVector) addMethod(Date) addMethod(Dictionary) addMethod(Directory)
addMethod(FltVector) addMethod(Function) addMethod(IntVector) addMethod(List)
addMethod(Matrix) addMethod(NumMatrix) addMethod(NumVector) addMethod(Number)
addMethod(ObjVector) addMethod(ObjectRepository) addMethod(Pair) addMethod(PcodeVector)
addMethod(ShortVector) addMethod(String) addMethod(Structure) addMethod(Symbol)
addMethod(Vector) addMethod(Void) addi(Number) appendWriteln(ByteVector)
append(BitVector) append(Complex) append(CpxVector) append(FltVector)
append(IntVector) append(Matrix) append(NumMatrix) append(NumVector)
append(ObjVector) append(Pair) append(ShortVector) append(String)
append(Structure) append(Symbol) append(Vector) avg(CpxVector)
avg(Number) badd(Boolean) balance(Lambda) bdiv(Boolean)
binaryInsert(CpxVector) binaryInsert(FltVector) binaryInsert(IntVector) binaryInsert(Matrix)
binaryInsert(NumMatrix) binaryInsert(NumVector) binaryInsert(ShortVector) binaryInsert(Structure)
binaryInsert(Vector) binaryNand(Integer) binaryNor(Integer) binaryNot(Integer)
binaryNxor(Integer) binarySearch(CpxVector) binarySearch(Dictionary) binarySearch(FltVector)
binarySearch(IntVector) binarySearch(Matrix) binarySearch(NumMatrix) binarySearch(NumVector)
binarySearch(ObjVector) binarySearch(ShortVector) binarySearch(Structure) binarySearch(Vector)
bitwiseAnd(Integer) bitwiseNand(Integer) bitwiseNor(Integer) bitwiseNot(Integer)
bitwiseNxor(Integer) bitwiseOr(Integer) bitwiseShiftLeft(Integer) bitwiseShiftRight(Integer)
bitwiseXor(Integer) bmod(Boolean) bmul(Boolean) boolean(Boolean)
cadd(Character) cdiv(Character) char(String) character(Character)
clean(String) closeLog(FileIO) cmod(Character) cmul(Character)
code(String) compareEQ(BitVector) compareEQ(Boolean) compareEQ(Brick)
compareEQ(Character) compareEQ(Complex) compareEQ(CpxVector) compareEQ(Date)
compareEQ(Dictionary) compareEQ(Directory) compareEQ(FltVector) compareEQ(Function)
compareEQ(IntVector) compareEQ(Lambda) compareEQ(List) compareEQ(Matrix)
compareEQ(NumMatrix) compareEQ(NumVector) compareEQ(Number) compareEQ(ObjVector)
compareEQ(ObjectRepository) compareEQ(Pair) compareEQ(ShortVector) compareEQ(String)
compareEQ(Structure) compareEQ(Symbol) compareEQ(Vector) compareEQ(Void)
compareGE(BitVector) compareGE(Boolean) compareGE(Brick) compareGE(Character)
compareGE(Complex) compareGE(CpxVector) compareGE(Date) compareGE(Dictionary)
compareGE(Directory) compareGE(Function) compareGE(IntVector) compareGE(Lambda)
compareGE(List) compareGE(Matrix) compareGE(NumMatrix) compareGE(Number)
compareGE(ObjVector) compareGE(ObjectRepository) compareGE(Pair) compareGE(ShortVector)
compareGE(String) compareGE(Structure) compareGE(Symbol) compareGE(Vector)
compareGE(Void) compareGT(BitVector) compareGT(Boolean) compareGT(Brick)
compareGT(Character) compareGT(Complex) compareGT(CpxVector) compareGT(Date)
compareGT(Dictionary) compareGT(Directory) compareGT(Function) compareGT(IntVector)
compareGT(Lambda) compareGT(List) compareGT(Matrix) compareGT(NumMatrix)
compareGT(NumVector) compareGT(Number) compareGT(ObjVector) compareGT(ObjectRepository)
compareGT(Pair) compareGT(ShortVector) compareGT(String) compareGT(Structure)
compareGT(Symbol) compareGT(Vector) compareGT(Void) compareLE(BitVector)
compareLE(Boolean) compareLE(Brick) compareLE(Character) compareLE(Complex)
compareLE(CpxVector) compareLE(Date) compareLE(Dictionary) compareLE(Directory)
compareLE(FltVector) compareLE(Function) compareLE(IntVector) compareLE(Lambda)
compareLE(List) compareLE(Matrix) compareLE(NumMatrix) compareLE(NumVector)
compareLE(Number) compareLE(ObjVector) compareLE(ObjectRepository) compareLE(Pair)
compareLE(ShortVector) compareLE(String) compareLE(Structure) compareLE(Symbol)
compareLE(Vector) compareLE(Void) compareLT(BitVector) compareLT(Boolean)
compareLT(Brick) compareLT(Character) compareLT(Complex) compareLT(CpxVector)
compareLT(Date) compareLT(Dictionary) compareLT(Directory) compareLT(FltVector)
compareLT(Function) compareLT(IntVector) compareLT(Lambda) compareLT(List)
compareLT(Matrix) compareLT(NumMatrix) compareLT(NumVector) compareLT(Number)
compareLT(ObjVector) compareLT(ObjectRepository) compareLT(Pair) compareLT(ShortVector)
compareLT(String) compareLT(Structure) compareLT(Symbol) compareLT(Vector)
compareLT(Void) compareNE(BitVector) compareNE(Boolean) compareNE(Brick)
compareNE(Character) compareNE(Complex) compareNE(CpxVector) compareNE(Date)
compareNE(Dictionary) compareNE(Directory) compareNE(FltVector) compareNE(Function)
compareNE(IntVector) compareNE(Lambda) compareNE(List) compareNE(Matrix)
compareNE(NumMatrix) compareNE(NumVector) compareNE(Number) compareNE(ObjVector)
compareNE(ObjectRepository) compareNE(Pair) compareNE(ShortVector) compareNE(String)
compareNE(Structure) compareNE(Symbol) compareNE(Vector) compareNE(Void)
compare(BitVector) compare(Boolean) compare(Brick) compare(Character)
compare(Complex) compare(CpxVector) compare(Date) compare(Dictionary)
compare(Directory) compare(FltVector) compare(Function) compare(IntVector)
compare(Lambda) compare(List) compare(Matrix) compare(NumMatrix)
compare(NumVector) compare(Number) compare(ObjVector) compare(ObjectRepository)
compare(Pair) compare(ShortVector) compare(String) compare(Structure)
compare(Symbol) compare(Vector) compare(Void) comparison(BitVector)
comparison(Boolean) comparison(Brick) comparison(Character) comparison(Complex)
comparison(Date) comparison(Dictionary) comparison(Directory) comparison(FltVector)
comparison(Function) comparison(IntVector) comparison(List) comparison(Matrix)
comparison(NumMatrix) comparison(NumVector) comparison(Number) comparison(ObjVector)
comparison(ObjectRepository) comparison(Pair) comparison(ShortVector) comparison(String)
comparison(Structure) comparison(Symbol) comparison(Vector) comparison(Void)
compress(ByteVector) cons(Pair) count(Dictionary) count(Directory)
count(List) count(Matrix) count(NumMatrix) count(Pair)
count(Structure) count(Vector) csub(Character) date(Date)
day(Date) days360(Date) debugBrowsableProcs(Context) debugBrowsableProcs(Lambda)
debugDialog(String) deleteRows(Brick) delete(Dictionary) delete(Directory)
delete(FltVector) delete(IntVector) delete(List) delete(Matrix)
delete(NumMatrix) delete(NumVector) delete(ObjVector) delete(ObjectRepository)
delete(Pair) delete(ShortVector) delete(Structure) delete(Vector)
disassemble(Context) disassemble(Lambda) display(ByteVector) display(FileIO)
divi(Number) downcase(String) downcase(Symbol) encode(ByteVector)
evalInSyncLocalContext(Context) eval(Lambda) eval(List) exportTab(Lambda)
exportTab(ObjectRepository) fact(Integer) fact(Number) fdisplay(ByteVector)
fdisplay(Text) fileClose(ByteVector) fileClose(Text) fileDisplay(ByteVector)
fileDisplay(Text) fileErase(ByteVector) fileErase(Text) fileOpen(ByteVector)
fileOpen(Text) fileReadRecord(ByteVector) fileReadRecord(String) fileReadRecord(Text)
fileRead(ByteVector) fileRead(Text) fileResize(ByteVector) fileResize(String)
fileResize(Text) fileSeek(ByteVector) fileSeek(String) fileSeek(Text)
fileWrite(ByteVector) fileWrite(String) fileWrite(Text) filewriteln(ByteVector)
filewriteln(String) filewriteln(Text) findBlock(BitVector) find(String)
floor(Number) fraction(Number) freeBlock(BitVector) gcd(Integer)
gcd(Number) getContextPtr(Context) getHttp(String) getHttp(Text)
hashString(String) hashString(Symbol) hour(Date) iadd(Integer)
icompareEQ(Integer) icompareGE(Integer) icompareGT(Integer) icompareLE(Integer)
icompareLT(Integer) icompareNE(Integer) idiv(Integer) imod(Integer)
importTab(Lambda) importTab(ObjectRepository) imul(Number) insertRows(Brick)
insert(Dictionary) insert(Directory) insert(FltVector) insert(IntVector)
insert(Matrix) insert(NumMatrix) insert(NumVector) insert(ObjVector)
insert(ShortVector) insert(Structure) insert(Vector) inside(BitVector)
inside(Dictionary) inside(Directory) inside(IntVector) inside(List)
inside(Matrix) inside(NumMatrix) inside(NumVector) inside(ShortVector)
inside(Structure) inside(Vector) inspect(Context) inspect(Lambda)
inspect(ObjectRepository) integer(Integer) isAtom(BitVector) isAtom(Brick)
isAtom(Dictionary) isAtom(Directory) isAtom(FltVector) isAtom(IntVector)
isAtom(List) isAtom(Matrix) isAtom(NumMatrix) isAtom(NumVector)
isAtom(ObjVector) isAtom(Pair) isAtom(PcodeVector) isAtom(ShortVector)
isAtom(Structure) isAtom(Vector) isBitVector(BitVector) isBoolean(Boolean)
isBound(Dictionary) isBound(Directory) isBound(Structure) isByteVector(ByteVector)
isCharAlphabetic(ByteVector) isCharAlphabetic(String) isCharAlphabetic(Symbol) isCharAlphanumeric(ByteVector)
isCharAlphanumeric(String) isCharAlphanumeric(Symbol) isCharLowercase(ByteVector) isCharLowercase(String)
isCharLowercase(Symbol) isCharName(ByteVector) isCharName(String) isCharName(Symbol)
isCharNumeric(ByteVector) isCharNumeric(String) isCharNumeric(Symbol) isCharUppercase(ByteVector)
isCharUppercase(String) isCharUppercase(Symbol) isCharWhitespace(ByteVector) isCharWhitespace(String)
isCharWhitespace(Symbol) isChar(String) isCharacter(Character) isComplex(Complex)
isDate(Date) isDictionary(Dictionary) isDirectory(Directory) isEqual(BitVector)
isEqual(Boolean) isEqual(Brick) isEqual(Character) isEqual(Complex)
isEqual(Date) isEqual(Dictionary) isEqual(Directory) isEqual(FltVector)
isEqual(Function) isEqual(IntVector) isEqual(List) isEqual(Matrix)
isEqual(NumMatrix) isEqual(NumVector) isEqual(Number) isEqual(ObjVector)
isEqual(Pair) isEqual(ShortVector) isEqual(String) isEqual(Structure)
isEqual(Vector) isEqual(Void) isError(Error) isEven(Number)
isFloatVector(FltVector) isIdentical(BitVector) isIdentical(Boolean) isIdentical(Brick)
isIdentical(Character) isIdentical(Complex) isIdentical(Date) isIdentical(Dictionary)
isIdentical(Directory) isIdentical(Error) isIdentical(FltVector) isIdentical(Function)
isIdentical(IntVector) isIdentical(List) isIdentical(Matrix) isIdentical(NumMatrix)
isIdentical(NumVector) isIdentical(Number) isIdentical(ObjVector) isIdentical(ObjectRepository)
isIdentical(Pair) isIdentical(PcodeVector) isIdentical(ShortVector) isIdentical(Structure)
isIdentical(Vector) isIdentical(Void) isInside(BitVector) isInside(Dictionary)
isInside(Directory) isInside(IntVector) isInside(List) isInside(Matrix)
isInside(NumMatrix) isInside(NumVector) isInside(ObjVector) isInside(Pair)
isInside(ShortVector) isInside(Structure) isInside(Vector) isIntegerVector(IntVector)
isInteger(Integer) isMatrix(Matrix) isMember(BitVector) isMember(Dictionary)
isMember(Directory) isMember(IntVector) isMember(List) isMember(Matrix)
isMember(NumMatrix) isMember(NumVector) isMember(ObjVector) isMember(Pair)
isMember(ShortVector) isMember(Structure) isMember(Vector) isMoney(Number)
isNumberMatrix(NumMatrix) isNumberVector(NumVector) isNumber(Number) isObjectVector(ObjVector)
isObject(BitVector) isObject(Brick) isObject(ByteVector) isObject(Dictionary)
isObject(Directory) isObject(FltVector) isObject(IntVector) isObject(List)
isObject(Matrix) isObject(NumMatrix) isObject(NumVector) isObject(ObjVector)
isObject(Pair) isObject(PcodeVector) isObject(ShortVector) isObject(String)
isObject(Structure) isObject(Symbol) isObject(Vector) isPair(List)
isPair(Pair) isPcodeVector(PcodeVector) isString(String) isStructure(Structure)
isSymbol(Symbol) isText(String) isType(BitVector) isType(Boolean)
isType(Brick) isType(Character) isType(Complex) isType(Date)
isType(Dictionary) isType(Directory) isType(FltVector) isType(Function)
isType(IntVector) isType(Matrix) isType(NumMatrix) isType(NumVector)
isType(Number) isType(ObjVector) isType(ObjectRepository) isType(Pair)
isType(ShortVector) isType(String) isType(Structure) isType(Symbol)
isType(Vector) isType(Void) isVector(Vector) isub(Integer)
julian(Date) kurtosis(Number) lcm(Integer) left(String)
length(BitVector) length(Brick) length(Dictionary) length(Directory)
length(FltVector) length(IntVector) length(List) length(Matrix)
length(NumMatrix) length(NumVector) length(ObjVector) length(ObjectRepository)
length(Pair) length(PcodeVector) length(ShortVector) length(String)
length(Structure) length(Symbol) length(Vector) list(List)
loadLib(String) loadWorkspace(Context) macroReplace(String) makeQuotedList(List)
makeQuotedSymbol(Symbol) max(Number) median(Number) member(BitVector)
member(Dictionary) member(Directory) member(IntVector) member(List)
member(Matrix) member(NumMatrix) member(NumVector) member(ObjVector)
member(ShortVector) member(Structure) member(Vector) mid(String)
min(Number) minute(Date) mod(Complex) mod(Number)
modi(Number) money(Number) month(Date) muli(Number)
new(BitVector) new(Brick) new(ByteVector) new(CpxVector)
new(Dictionary) new(Directory) new(FltVector) new(IntVector)
new(Lambda) new(Matrix) new(NumMatrix) new(NumVector)
new(ObjVector) new(ObjectRepository) new(PcodeVector) new(ShortVector)
new(String) new(Structure) new(Symbol) new(Vector)
number(Number) objectToMatrix(Matrix) objectToNumMatrix(NumMatrix) objectToNumVector(NumVector)
openLog(FileIO) openLog(String) pair(Pair) parse(String)
postHttp(String) postHttp(Text) preAllocateFixedMemoryBlocks(Context) product(Number)
random(Number) randomize(Number) range(Number) rank(Matrix)
rank(NumMatrix) readHtmlPage(String) readHtmlPage(Text) refAttributes(Dictionary)
refAttributes(Directory) refAttributes(Structure) refAttributes(Vector) refValues(Dictionary)
refValues(Directory) refValues(Structure) refValues(Vector) ref(BitVector)
ref(Boolean) ref(Brick) ref(Character) ref(Complex)
ref(Date) ref(Dictionary) ref(Directory) ref(FltVector)
ref(Function) ref(IntVector) ref(Lambda) ref(List)
ref(Matrix) ref(NumMatrix) ref(NumVector) ref(Number)
ref(ObjVector) ref(ObjectRepository) ref(PcodeVector) ref(ShortVector)
ref(String) ref(Structure) ref(Symbol) ref(Vector)
ref(Void) remove(BitVector) remove(Dictionary) remove(Directory)
remove(IntVector) remove(Matrix) remove(NumMatrix) remove(NumVector)
remove(ObjVector) remove(ShortVector) remove(Structure) remove(Vector)
replace(String) rept(String) requestHttp(String) requestHttp(Text)
resize(BitVector) resize(Dictionary) resize(Directory) resize(FltVector)
resize(IntVector) resize(Matrix) resize(NumMatrix) resize(NumVector)
resize(ObjVector) resize(ShortVector) resize(Structure) resize(Vector)
right(String) round(Number) run(ByteVector) run(Text)
saveImmediate(ObjectRepository) saveObject(ByteVector) saveObject(Integer) saveRepository(ObjectRepository)
saveWorkspace(Context) second(Date) send(BitVector) send(Boolean)
send(Brick) send(Character) send(CpxVector) send(Date)
send(Dictionary) send(Directory) send(FltVector) send(Function)
send(IntVector) send(Lambda) send(List) send(Matrix)
send(NumMatrix) send(NumVector) send(Number) send(ObjectRepository)
send(Pair) send(ShortVector) send(String) send(Structure)
send(Symbol) send(Vector) send(Void) setAttributes(Dictionary)
setAttributes(Directory) setAttributes(Structure) setAttributes(Vector) setBlock(BitVector)
setCar(List) setCar(Pair) setCdr(BitVector) setCdr(Brick)
setCdr(Dictionary) setCdr(Directory) setCdr(FltVector) setCdr(IntVector)
setCdr(List) setCdr(Matrix) setCdr(NumMatrix) setCdr(NumVector)
setCdr(ObjVector) setCdr(Pair) setCdr(ShortVector) setCdr(Structure)
setCdr(Vector) setLastCdr(BitVector) setLastCdr(FltVector) setLastCdr(IntVector)
setLastCdr(List) setLastCdr(Matrix) setLastCdr(NumMatrix) setLastCdr(NumVector)
setLastCdr(ObjVector) setLastCdr(Structure) setLastCdr(Vector) set(ObjectRepository)
setf(ObjectRepository) setq(BitVector) setq(Boolean) setq(Brick)
setq(Character) setq(Date) setq(Dictionary) setq(Directory)
setq(FltVector) setq(IntVector) setq(Lambda) setq(List)
setq(Matrix) setq(NumVector) setq(Number) setq(ObjVector)
setq(ObjectRepository) setq(PcodeVector) setq(ShortVector) setq(String)
setq(Structure) setq(Symbol) setq(Vector) setq(Void)
sizeof(BitVector) sizeof(Boolean) sizeof(Brick) sizeof(ByteVector)
sizeof(Character) sizeof(Complex) sizeof(Date) sizeof(Dictionary)
sizeof(Directory) sizeof(FltVector) sizeof(Function) sizeof(IntVector)
sizeof(List) sizeof(Matrix) sizeof(NumMatrix) sizeof(NumVector)
sizeof(Number) sizeof(ObjVector) sizeof(ObjectRepository) sizeof(Pair)
sizeof(PcodeVector) sizeof(ShortVector) sizeof(String) sizeof(Structure)
sizeof(Symbol) sizeof(Vector) sizeof(Void) skew(Number)
sort(BitVector) sort(Dictionary) sort(Directory) sort(FltVector)
sort(IntVector) sort(List) sort(Matrix) sort(NumMatrix)
sort(NumVector) sort(ObjVector) sort(ShortVector) sort(Structure)
sort(Vector) sqrt(Complex) sqrt(Number) srandom(Number)
stdev(Number) stdevp(Number) stringCiEQ(String) stringCiGE(String)
stringCiGT(String) stringCiLE(String) stringCiLT(String) stringCiNE(String)
stringFill(String) stringToBVector(String) stringToVector(String) string(Complex)
string(String) subi(Number) submit(Context) substitute(String)
substringCiEQ(String) substringCiGE(String) substringCiGT(String) substringCiLE(String)
substringCiLT(String) substringCiNE(String) substringEQ(String) substringFill(String)
substringGE(String) substringGT(String) substringLE(String) substringLT(String)
substringNE(String) substring(String) sum(Complex) sum(Number)
sumsqr(Complex) sumsqr(Number) svmRegression(Vector) symbol(Symbol)
system(ByteVector) system(Text) testFunction(Structure) text(String)
time(Date) trim(String) type(BitVector) type(Boolean)
type(Brick) type(ByteVector) type(Character) type(Complex)
type(Date) type(Dictionary) type(Directory) type(FltVector)
type(Function) type(IntVector) type(Lambda) type(Matrix)
type(NumMatrix) type(NumVector) type(Number) type(ObjVector)
type(ObjectRepository) type(Pair) type(PcodeVector) type(ShortVector)
type(String) type(Structure) type(Symbol) type(Vector)
type(Void) uniqueInsert(FltVector) uniqueInsert(IntVector) uniqueInsert(Matrix)
uniqueInsert(NumMatrix) uniqueInsert(NumVector) uniqueInsert(ObjVector) uniqueInsert(ShortVector)
uniqueInsert(Structure) uniqueInsert(Vector) upcase(String) upcase(Symbol)
var(Number) varp(Number) vectorBinaryInnerProduct(NumVector) vectorBipolarInnerProduct(NumVector)
vectorCosineInnerProduct(NumVector) vectorCubeInnerProduct(NumVector) vectorDelete(Directory) vectorExpInnerProduct(NumVector)
vectorFill(BitVector) vectorFill(FltVector) vectorFill(IntVector) vectorFill(Matrix)
vectorFill(NumMatrix) vectorFill(NumVector) vectorFill(ObjVector) vectorFill(ShortVector)
vectorFill(Vector) vectorInnerProduct(NumVector) vectorLogInnerProduct(NumVector) vectorQuartInnerProduct(NumVector)
vectorQuintInnerProduct(NumVector) vectorSigmoidInnerProduct(NumVector) vectorSineInnerProduct(NumVector) vectorSquareInnerProduct(NumVector)
vectorTanInnerProduct(NumVector) vectorTanhInnerProduct(NumVector) writeln(ByteVector) writeln(String)
writeln(Text) year(Date)

How do I contact the AIS team?

You can always talk with the AIS at aiserver.sourceforge.net.