在PHP中使用GET请求发送cookie

时间:2011-10-31 11:53:03

标签: php cookies curl

我正在开发一个APP的问题。我正在向URL发出GET请求以获取XML文件。由于它是一个大文件,因此它的缓存时间至少为1个月,因为它没有那么大的变化。

我已经很容易地使用Python模拟了请求,因为唯一的必要条件就是有一个cookie,一旦你进入页面,页面就会分配给你。

以下是Python中的代码:

# -*- coding: utf-8 -*-
import requests

cookies = requests.get("http://www.someweb.com:9005/someDIR/index.jspx").cookies
data = requests.get("http://www.someweb.com:9005/someDIR/Results?op=lp&ls=All&t=0.41461605788208544", cookies=cookies).content
print data

我尝试用PHP接收和发送带有cURL的cookie,但我无法做到这一点。任何提示?

1 个答案:

答案 0 :(得分:1)

这应该有效:

<?php

$ckfile = tempnam ("/tmp", "CURLCOOKIE");

$ch = curl_init ("http://www.someweb.com:9005/someDIR/index.jspx");
curl_setopt ($ch, CURLOPT_COOKIEJAR, $ckfile); 
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, true);
$output = curl_exec ($ch);

$ch = curl_init ("http://www.someweb.com:9005/someDIR/Results?op=lp&ls=All&t=0.41461605788208544");
curl_setopt ($ch, CURLOPT_COOKIEFILE, $ckfile); 
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, true);
$output = curl_exec ($ch);

echo $output;

?>