Difference between revisions of "PHP Batch Client"
From Textserver wiki
(Created page with "<syntaxhighlight lang="php" line="1" > </syntaxhighlight>") |
|||
(One intermediate revision by the same user not shown) | |||
Line 1: | Line 1: | ||
<syntaxhighlight lang="php" line="1" > | <syntaxhighlight lang="php" line="1" > | ||
+ | #! /usr/bin/php5 | ||
+ | |||
+ | <?php | ||
+ | |||
+ | ////////////////////////////////////////////////////////////////// | ||
+ | // | ||
+ | // Example client to submit an interactive request to TextServer | ||
+ | // SERVICENAME service. | ||
+ | // Input may be a plain text or a text file. No ZIP files. | ||
+ | // Output will be in the requested format (XML, json, conll) | ||
+ | // | ||
+ | ///////////////////////////////////////////////////////////////// | ||
+ | |||
+ | $h = curl_init(); | ||
+ | |||
+ | // set query elements | ||
+ | echo 'Input ZIP file: '; $fname = rtrim(fgets(STDIN)); | ||
+ | echo 'Language: '; $lang = rtrim(fgets(STDIN)); | ||
+ | echo 'Output format (xml,json,conll,naf): '; $out = rtrim(fgets(STDIN)); | ||
+ | echo 'TextServer Username: '; $user = rtrim(fgets(STDIN)); | ||
+ | echo 'TextServer Password: '; $pwd = rtrim(fgets(STDIN)); | ||
+ | |||
+ | // build request | ||
+ | $TextServer_URL="http://frodo.lsi.upc.edu:8080/TextWS/textservlet/ws"; | ||
+ | $service="SERVICENAME"; | ||
+ | curl_setopt($h, CURLOPT_URL, $TextServer_URL."/processQuery/".$service); | ||
+ | curl_setopt($h, CURLOPT_POST, true); | ||
+ | curl_setopt($h, CURLOPT_POSTFIELDS, array( | ||
+ | 'username' => $user, | ||
+ | 'password' => $pwd, | ||
+ | 'file' => '@'.realpath($fname), | ||
+ | 'language' => $lang, | ||
+ | 'output' => $out, | ||
+ | 'interactive' =>'0') ); | ||
+ | curl_setopt($h, CURLOPT_HEADER, false); | ||
+ | curl_setopt($h, CURLOPT_RETURNTRANSFER, 1); | ||
+ | |||
+ | // execute request | ||
+ | $result = curl_exec($h); | ||
+ | |||
+ | // check for any error | ||
+ | $err = curl_getinfo($h, CURLINFO_HTTP_CODE); | ||
+ | if ($err != 200) { | ||
+ | print "HTTP ".$err." - ".$result."\n"; | ||
+ | exit(); | ||
+ | } | ||
+ | curl_close($h); | ||
+ | |||
+ | // Server response should include a job tokenID, retrieve it | ||
+ | $tkid = (string) new SimpleXMLElement($result); | ||
+ | print "Job submitted. Token id=".$tkid."\n"; | ||
+ | ?> | ||
</syntaxhighlight> | </syntaxhighlight> |
Latest revision as of 12:03, 21 January 2016
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 ?>