php的代码,看了好久,还是没明白。谁能帮我翻译成c#的 public function get_userinfo($uid){ $params = array(); $params['uid'] = $uid; return $this-post($params,http://api.tuan.2345.com/api/getuserinfo.php); } private function post($data,$url
php的代码,看了好久,还是没明白。谁能帮我翻译成c#的
public function get_userinfo($uid){
$params = array();
$params['uid'] = $uid;
return $this->post($params,http://api.tuan.2345.com/api/getuserinfo.php);
}
private function post($data,$url)
{/*{{{*/
// get parts of url
$url = parse_url($url);
if (!$url) { return couldn't parse url; }
// provide defaults for port and query string
if (!isset($url['port'])) { $url['port'] = ; }
if (!isset($url['query'])) { $url['query'] = ; }
// build post string
$encoded = ;
foreach ($data as $k => $v) {
$encoded .= ($encoded ? & : );
$encoded .= rawurlencode($k) . = . rawurlencode($v);
}
// open socket on host
//$encoded /* string */ = uid=%a1%b0608496%a1%b1
$fp = @fsockopen($url['host'], $url['port'] ? $url['port'] : 80);
if (!$fp) { return failed to open socket to {$url['host']}; }
// send http 1.0 post request to host
fputs($fp, sprintf(post %s%s%s http/1.0\n, $url['path'], $url['query'] ? ? : , $url['query']));
fputs($fp, host: {$url['host']}\n);
fputs($fp, content-type: application/x-www-form-urlencoded\n);
fputs($fp, content-length: . strlen($encoded) . \n);
fputs($fp, connection: close\n\n);
fputs($fp, $encoded\n);
// read the first line of data, only accept if 200 ok is sent
$line = fgets($fp, 1024);
if (!preg_match('#^http/1\\.. 200#', $line)) { return; }
// put everything, except the headers to $results
$results = ;
$inheader = true;
while(!feof($fp)) {
$line = fgets($fp, 1024);
if ($inheader && ($line == \n || $line == \r\n)) {
$inheader = false;
}
elseif (!$inheader) {
$results .= $line;
}
}
fclose($fp);
// return with data received
return $results;
}/*}}}*/