PHP Batch Client
From Textserver wiki
1 #! /usr/bin/php5
2
3 <?php
4
5 //////////////////////////////////////////////////////////////////
6 //
7 // Example client to submit an interactive request to TextServer
8 // SERVICENAME service.
9 // Input may be a plain text or a text file. No ZIP files.
10 // Output will be in the requested format (XML, json, conll)
11 //
12 /////////////////////////////////////////////////////////////////
13
14 $h = curl_init();
15
16 // set query elements
17 echo 'Input ZIP file: '; $fname = rtrim(fgets(STDIN));
18 echo 'Language: '; $lang = rtrim(fgets(STDIN));
19 echo 'Output format (xml,json,conll,naf): '; $out = rtrim(fgets(STDIN));
20 echo 'TextServer Username: '; $user = rtrim(fgets(STDIN));
21 echo 'TextServer Password: '; $pwd = rtrim(fgets(STDIN));
22
23 // build request
24 $TextServer_URL="http://frodo.lsi.upc.edu:8080/TextWS/textservlet/ws";
25 $service="SERVICENAME";
26 curl_setopt($h, CURLOPT_URL, $TextServer_URL."/processQuery/".$service);
27 curl_setopt($h, CURLOPT_POST, true);
28 curl_setopt($h, CURLOPT_POSTFIELDS, array(
29 'username' => $user,
30 'password' => $pwd,
31 'file' => '@'.realpath($fname),
32 'language' => $lang,
33 'output' => $out,
34 'interactive' =>'0') );
35 curl_setopt($h, CURLOPT_HEADER, false);
36 curl_setopt($h, CURLOPT_RETURNTRANSFER, 1);
37
38 // execute request
39 $result = curl_exec($h);
40
41 // check for any error
42 $err = curl_getinfo($h, CURLINFO_HTTP_CODE);
43 if ($err != 200) {
44 print "HTTP ".$err." - ".$result."\n";
45 exit();
46 }
47 curl_close($h);
48
49 // Server response should include a job tokenID, retrieve it
50 $tkid = (string) new SimpleXMLElement($result);
51 print "Job submitted. Token id=".$tkid."\n";
52 ?>