php里有相当于Asp.Net中 CookieContainer的东西吗?

WBOY
Libérer: 2016-06-23 14:04:21
original
1292 Les gens l'ont consulté

在Asp.Net中,访问页面可通过下面的函数来完成,postData是需要Post指定url的数据:

public string getHtml(string url, CookieContainer cookie, byte[] postData);



在php中如何实现呢?是不是可以这样写呢?

<?phpfunction getHtml($url,$tmpFile,$postData){	$ch = curl_init($url);	curl_setopt($ch,CURLOPT_HEADER,0);	curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);  	curl_setopt($ch, CURLOPT_COOKIEJAR, $tmpFile);	curl_setopt($ch, CURLOPT_COOKIEFILE, $tmpFile); 	if($postData!=NULL)	{		curl_setopt($ch, CURLOPT_POST, 1);  		curl_setopt($ch, CURLOPT_POSTFIELDS, $postData); 	}	$content=curl_exec($ch);  	curl_close($ch); 	return $content;}?>
Copier après la connexion


下面这两句是否都不能少呢?
curl_setopt($ch, CURLOPT_COOKIEJAR, $tmpFile);
curl_setopt($ch, CURLOPT_COOKIEFILE, $tmpFile); 

只能通过临时文件吗?还有其他改进的方法吗?O(∩_∩)O谢谢啦~~~~~~


回复讨论(解决方案)

CURLOPT_COOKIEJAR 用于连接关闭时保存cookie到文件
CURLOPT_COOKIEFILE 用于连接时将文件中的cookie发送出去
CURLOPT_COOKIE 用于连接时将变量中的cookie发送出去
是否都要使用,取决于你的应用场景

保存到文件是默认动作
你可以通过设定 CURLOPT_READFUNCTION 用自己的函数来处理

多谢版主指导~~~

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal