Zend_Http_Client()在c#中的等价

本文关键字:Http Client Zend | 更新日期: 2023-09-27 17:55:01

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

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

这里有两个方法

    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等价于什么呢?WebClient吗?HttpWebResponse吗?HttpWebRequest吗?还是其他原因?

Zend_Http_Client()在c#中的等价

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

我不认为您会找到一个多功能一体的等效产品,但WebClient是您最好的起点。HttpWebResponseHttpWebRequestWebClient稍低。WebClient有一些出色的包装器,用于在其他事情中发出HTTP请求。