You need to set the values of CURLOPT_POSTFIELDS
as an array like this:
curl_setopt($ch, CURLOPT_POSTFIELDS, array("search" => "university"));
While the documentation states that you can add params as a string, that always seems messy & error prone. Passing an array is cleaner. Here it is in your code:
// Set the `post` fields.
$post_fields = array();
$post_fields['search'] = 'university';
$post_fields['searchtype'] = 'and';
$post_fields['client'] = 'default';
$post_fields['output'] = 'xml_no_dtd';
$post_fields['proxystylesheet'] = 'default';
// Core curl logic.
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "http://wokinfo.com/cgi-bin/dci/search.cgi");
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post_fields);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$output = curl_exec($ch);
print curl_getinfo($ch, CURLINFO_HTTP_CODE) . "<br>";
print $output . "\n";
curl_close($ch);