这一行到底对服务器端产生了什么影响(curl问题)

hphper 发布于 2014/04/22 10:21
阅读 475
收藏 0
PHP
<?php
$url='http://www.posten.se/en/Pages/Track-and-trace.aspx?search=RE637058138SE';
	$ch=curl_init($url);
	curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
	curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
	curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows NT 6.1; rv:25.0) Gecko/20100101 Firefox/25.0');
	curl_setopt($ch, CURLOPT_COOKIEJAR, '');
	$con=curl_exec($ch);
	curl_close($ch);
echo $con;

curl_setopt($ch, CURLOPT_COOKIEJAR, '');
如果把上面一行注释掉就查不到单号信息了,这行第三个参数本应该设置一个文件来存储连接时产生的cookie信息的,但是下面又没有对其验证,为什么又非得设置才行(即使设置为空),这行到底对服务器端的cookie验证产生了什么影响呢?


加载中
1
梅开源
梅开源

http://stackoverflow.com/questions/7960315/why-is-curlopt-cookiejar-needed-when-curlopt-cookiesession-set-default

why is CURLOPT_COOKIEJAR needed when CURLOPT_COOKIESESSION set default


CURL_COOKIEJAR is simply the file which the cookies which curl automatically parses are stored in. CURL_COOKIESESSION on the other hand is a directive that tells curl that any of the cookies it stored which are considered "session" cookies should be ignored. As such, to actually store the parsed cookies on your system at all, CURL_COOKIEJAR must be set to the location. What is actually meant by that statement about storing/loading is that by default, regardless if the cookie was a "session" cookie or not, if it was stored in the cookiejar it will be sent with the request.

hphper
hphper
还是不太明白啊,如果服务端自己写 达到这样的效果 该用什么思路呢
0
梅开源
梅开源

这行,上面一行,到底哪行?


hphper
hphper
就是 单独 拿出来的那行 07行
0
梅开源
梅开源

curl_setopt($curl, CURLOPT_COOKIEJAR, $this->cookie_file); // 存放Cookie信息的文件名称  

0
hphper
hphper

引用来自“梅开源”的评论

curl_setopt($curl, CURLOPT_COOKIEJAR, $this->cookie_file); // 存放Cookie信息的文件名称  

为什么 它产生的cookie没验证,而又非得设置不可呢

一般是在前一个页面产生cookie,然后在访问下一个页面时携带上一步骤产生的cookie文件

而我那段代码,对产生的cookie又没有验证,它怎么知道我有没有保留连接的cookie呢


0
hphper
hphper

求解答啊

返回顶部
顶部