我们需要将 .xml 文件发布到 API - REST API - BigCommerce。
这是一个比较基础的api..
我们已经尝试过这个 php curl 脚本将 xml 文件发布到 API,但是没有运气。
<?php
// test XML API POST
$filename = "test.xml";
$handle = fopen($filename, "r");
$XPost = fread($handle, filesize($filename));
fclose($handle);
$url = "https://urlofapi"; // set REST URL
$api_token = "apihashkey";
$xml = urlencode($XPost);
$user_agent = "SoEasy REST API Client 0.1";
// Get the curl session object
$session = curl_init($url);
// set url to post to curl_setopt($session, CURLOPT_URL,$url);
curl_setopt($session, CURLOPT_POST, true); // Tell curl to use HTTP POST;
curl_setopt($session, CURLOPT_POSTFIELDS, $XPost); // Tell curl that this is the body of the POST
curl_setopt($session, CURLOPT_USERPWD, $api_token); // define userpassword api token
curl_setopt($session, CURLOPT_HTTPAUTH, CURLAUTH_ANY); // defining REST basic authentication
curl_setopt($session, CURLOPT_HTTPHEADER, Array("Content-Type: application/xml")); // define header
curl_setopt($session, CURLOPT_SSL_VERIFYPEER, false); // ignore ssl cert for debug purposes curl_setopt($session, CURLOPT_USERAGENT, $user_agent); // user agent so the api knows what for some unknown reason
curl_setopt($session, CURLOPT_HEADER, 1); // Tell curl not to return headers, but do return the response
curl_setopt($session, CURLOPT_RETURNTRANSFER, true); // allow redirects curl_setopt($session, CURLOPT_FOLLOWLOCATION, true);
$response = curl_exec($session);
print_r($response);
curl_close($session);
?>
到目前为止已连接,但未成功 - 发生错误 -
Warning: fread() [function.fread]: Length parameter must be greater than 0 in /home/user/public_html/test/new.php on line 7
HTTP/1.1 405 Method Not Allowed Date: Sun, 12 Aug 2012 07:31:11 GMT
Server: Apache Allow: GET, HEAD, OPTIONS
X-BC-ApiLimit-Remaining: 5000 X-BC-Store-Version: 7.3.37
X-Powered-By: PleskLin Transfer-Encoding: chunked Content-Type: application/xml
X-Pad: avoid browser bug 405 This resource does not support the requested method.
Refer to the Allow response header for methods supported by this resource.
我们需要做的只是将一个 .xml 文件发布到大型商业 API。.xml 来自帐户软件并生成正确的 xml。