php里有无异于Asp.Net中 CookieContainer的东西吗

WBOY
풀어 주다: 2016-06-13 12:50:14
원래의
807명이 탐색했습니다.

php里有相当于Asp.Net中 CookieContainer的东西吗?
在Asp.Net中,访问页面可通过下面的函数来完成,postData是需要Post指定url的数据:

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



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

<br />
<?php<br />
function getHtml($url,$tmpFile,$postData)<br />
{<br />
	$ch = curl_init($url);<br />
	curl_setopt($ch,CURLOPT_HEADER,0);<br />
	curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);  <br />
	curl_setopt($ch, CURLOPT_COOKIEJAR, $tmpFile);<br />
	curl_setopt($ch, CURLOPT_COOKIEFILE, $tmpFile); <br />
	if($postData!=NULL)<br />
	{<br />
		curl_setopt($ch, CURLOPT_POST, 1);  <br />
		curl_setopt($ch, CURLOPT_POSTFIELDS, $postData); <br />
	}<br />
	$content=curl_exec($ch);  <br />
	curl_close($ch); <br />
	return $content;<br />
}<br />
?>
로그인 후 복사


下面这两句是否都不能少呢?
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 用自己的函数来处理
관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!