2011-09-12 17 views
1

高解像度画像を作成するフラッシュアプ​​リを作成しました。私はphpスクリプトを使ってZenCartにこの画像を製品として追加しようとしています。私はカールで管理者にアクセスし、新しい製品を追加し、成功した場合は新しく作成した製品IDを返すことを考えました。CURL経由でZenCartに製品を動的に追加する

これは、スクリプトのログイン一部のようになります。

$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

さまざまなタイプの認証を試してみてください。 manualには以下のように記載されています:

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);

関連する問題