使用PHP和Curl提交

时间:2017-09-22 09:55:32

标签: php xml curl

我整个上午都在尝试通过API上传 XML字符串,以便提交我的订单,但无论我尝试什么,它根本不适合我。

我的网址:

$url = "http://example.com/SubmitOrder?apiKey=ABC123&clientID=MYId&orderXml=".$xml;

$xml是我预先格式化的xml详细信息。

然后我将它放入我的卷曲部分:

$curl = curl_init();
curl_setopt_array($curl, array(
  CURLOPT_RETURNTRANSFER => 1,
  CURLOPT_URL            => $url
));
$resp = curl_exec($curl);

$xml1=simplexml_load_string($resp) or die("Error: Cannot create object");

print_r($xml1);
echo "Submitted";

我得到的回答是"错误:无法创建对象"我可以看到我的详细信息尚未提交。

我哪里出错?

非常感谢。

1 个答案:

答案 0 :(得分:0)

您可以在此代码示例中查看响应数据并创建数据。

<?php
$url = 'https://www.w3schools.com/xml/note.xml';

$resp = file_get_contents($url);

if (resp) {
    $string = simplexml_load_string($resp);
    var_dump($movies);
}

但如果你想在方法卷曲中获取数据,试试这个。

<?php

$html_brand = 'https://www.w3schools.com/xml/note.xml';
$ch = curl_init();

$options = array(
    CURLOPT_URL            => $html_brand,
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HEADER         => true,
    CURLOPT_FOLLOWLOCATION => true,
    CURLOPT_ENCODING       => "",
    CURLOPT_AUTOREFERER    => true,
    CURLOPT_CONNECTTIMEOUT => 120,
    CURLOPT_TIMEOUT        => 120,
    CURLOPT_MAXREDIRS      => 10,
);
curl_setopt_array( $ch, $options );
$response = curl_exec($ch);
switch ($http_code = curl_getinfo($ch, CURLINFO_HTTP_CODE)) {
    case 200:  # OK
        break;
    default:
        echo 'Status code HTTP: ', $http_code, "\n";
}

var_dump($response);
curl_close($ch);
die();

检查您的数据。并检查您的响应状态代码。