Динамическое добавление товаров в ZenCart через CURL - PullRequest
1 голос
/ 12 сентября 2011

Я сделал флэш-приложение, которое создает изображение в высоком разрешении.Я пытаюсь динамически добавить это изображение в качестве продукта в ZenCart, используя скрипт php.Я думал о том, чтобы получить доступ к администратору через curl, добавить новый продукт и, в случае успеха, вернуть только что созданный идентификатор продукта.

Это будет входящая в сценарий часть сценария:

$curl = curl_init(); 
$fields = array('admin_name'=>'user', 'admin_pass'=>'pass');
$url = 'http://www.mystore.com/login.php';

curl_setopt($curl, CURLOPT_POST,        1); 
curl_setopt($curl, CURLOPT_URL,         $url);
curl_setopt($curl, CURLOPT_RETURNTRANSFER,  1);                         
curl_setopt($curl, CURLOPT_POSTFIELDS,  $fields);

$result = curl_exec($curl);

if(curl_errno($curl)){ 
    echo 'error'; 
} else {
    echo $result;
}

но, к сожалению, я получаю только следующее сообщение об ошибке:

Authorization Required

This server could not verify that you are authorized to access the document requested.     Either you supplied the wrong credentials (e.g., bad password), or your browser doesn't     understand how to supply the credentials required.

Additionally, a 404 Not Found error was encountered while trying to use an ErrorDocument to handle the request.

Я попытался использовать

curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);

, но безуспешно.Есть идеи?

Заранее спасибо

1 Ответ

1 голос
/ 13 сентября 2011

Попробуйте использовать разные типы аутентификации. руководство упоминает:

CURLAUTH_ANY - псевдоним CURLAUTH_BASIC | CURLAUTH_DIGEST | CURLAUTH_GSSNEGOTIATE | CURLAUTH_NTLM.

Так что я бы выбрал либо curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_ANY);

или, если это не работает или не поддерживается, попробуйте:

curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_BASIC | CURLAUTH_DIGEST | CURLAUTH_GSSNEGOTIATE | CURLAUTH_NTLM);

...