Cnd中的Zend_Http_Client()等价物

时间:2011-05-06 13:25:34

标签: c# php asp.net zend-framework

我发现这个服务器端是谷歌分析,我一直在尝试将其转换为C#代码。一切进展顺利,但我不确定Zend_Http_Client在.net方面会是什么。

我在这里使用代码作为参考http://code.google.com/p/serversidegoogleanalytics/,它是使用Zend Framework在PHP中构建的(我假设)。

以下是两种方法

    public function getHttpClient () {
        if(!$this->httpClient instanceof Zend_Http_Client) {
            include_once("Zend/Http/Client.php");
            $this->httpClient = new Zend_Http_Client();
            $this->httpClient->setConfig(array(
                'maxredirects' => 1,
                'timeout'      => 4
            ));
            $this->httpClient->setHeaders('Referer', "http://" . self::$trackingDomain . "/");
            $this->httpClient->setHeaders("User-Agent", "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.0.7) Gecko/2009021910 Firefox/3.0.7 (.NET CLR 3.5.30729)");
            $this->httpClient->setCookieJar();
        }
        return $this->httpClient;
    }

和这个

    private function requestHttp($url, $getParams = array())
    {
        $client = $this->getHttpClient();
        $client->setUri($url);
        $client->setParameterGet($getParams);
        $response = $client->request();

        if ($response->isSuccessful())
            return true;
        else
            return false;
    }

我主要关心的是setCokieJar(),MaxRedirects和Timeouts,setParameterGet(),setURI()和request()

那么.net相当于什么? Web客户端? HttpWebResponse? HttpWebRequest的?还是别的什么?

非常感谢任何帮助。

2 个答案:

答案 0 :(得分:1)

我之前使用System.Net.WebClientSystem.Net.WebRequest取得了一些成功(我相信WebResponse只是WebRequest的对应物)。 WebClient更易于使用,但提供的选项更少。

答案 1 :(得分:0)

我认为你不会找到一个多功能的等价物,但是WebClient是你最好的选择。 HttpWebResponseHttpWebRequest的级别略低于WebClientWebClient有一些优秀的包装器可用于发出HTTP请求等。