首页 新闻 会员 周边

php的代码关于http请求的

0
悬赏园豆:200 [待解决问题]

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;
    }/*}}}*/

骑着单车的kyle的主页 骑着单车的kyle | 初学一级 | 园豆:2
提问于:2011-06-29 09:09
< >
分享
所有回答(0)
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册