将命令行CURL命令转换为PHP脚本

时间:2014-05-16 21:25:41

标签: php cookies curl

我正在尝试将以下curl命令转换为PHP脚本。

curl -v -c cookies.txt -d "username=XXXX&password=XXXX&login=true&redirectMethod=POST&product=home.betfair.int&url=https://www.betfair.com/" https://identitysso.betfair.com/api/login >out.txt 2>&1

当我在终端中执行该命令时,cookie.txt和out.txt文件都已正确创建。但是,当我尝试使用PHP时,我无法使用它。

这是我到目前为止所拥有的:

$fields = [
'username' => "lainga9",
'password' => "0a6c4822",
'login' => 'true',
'redirectMethod' => 'POST',
'product' => 'home.betfair.int',
'url' => 'https://www.betfair.com/'
];

$ch = curl_init();

curl_setopt_array($ch, [
CURLOPT_COOKIEJAR => 'cookies.txt',
CURLOPT_VERBOSE => 1,
CURLOPT_POST => 1,
CURLOPT_POSTFIELDS => $fields,
CURLOPT_URL => 'https://identitysso.betfair.com/api/login',
CURLOPT_HEADER => 1
]);

$response = curl_exec($ch);

虽然没有创建任何文件 - 任何人都有任何想法?

1 个答案:

答案 0 :(得分:0)

只需将响应放在所需的文件中,就out.txt而言。但是对于cookiejar,cookies.txt文件可能是权限问题,而apache无法写入该文件夹。

您可以确保apache可以通过此命令在正确的目录中写入:

sudo -u apache touch cookies.txt

以下是您添加到底部以将响应写入文件的内容:

file_put_contents('out.txt', $response);