我发现这个服务器端是谷歌分析,我一直在尝试将其转换为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的?还是别的什么?
非常感谢任何帮助。
答案 0 :(得分:1)
我之前使用System.Net.WebClient
和System.Net.WebRequest
取得了一些成功(我相信WebResponse
只是WebRequest
的对应物)。 WebClient
更易于使用,但提供的选项更少。
答案 1 :(得分:0)
我认为你不会找到一个多功能的等价物,但是WebClient
是你最好的选择。 HttpWebResponse
和HttpWebRequest
的级别略低于WebClient
。 WebClient
有一些优秀的包装器可用于发出HTTP请求等。