0

:)私はcurlを使用してXMLを送信しようとしていますが、postパラメーターとしては送信していません。私が言いたいのはこれです。

例えば。

$_POSTそのXMLの受信側は、変数を使用してXMLを受信できません。

彼は次のコードを使用する必要があります。

    $xmlStr=null;
    $file=fopen('php://input','r');
    $xmlStr=fgets($file);

https経由でcurlを使用してxml文字列を送信できるようにしたい。

したがって、次のことは間違っています。

public static function HttpsNoVerify($url,$postFields=null,$verbose=false) {
    // Initialize session and set URL.
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);

    // Set so curl_exec returns the result instead of outputting it.
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
    if ($postFields !=null) {
        curl_setopt($ch, CURLOPT_POSTFIELDS, $postFields);
    }
    if ($verbose) {
        curl_setopt($ch, CURLOPT_VERBOSE, 1);
    }
    // Get the response and close the channel.
    $response = curl_exec($ch);
    curl_close($ch);
    return $response;
}

ここで使用できるHttpsNoVerify($url,array('xml_file'=>'xml..'));ので、postパラメーターとして貼り付けます。そして私はそれをポスト出力として欲しい。

ですから、自分自身をきちんと説明し、やりたくないことを正確に説明したことを願っています。

どうすればやりたいことができますか?

ありがとう!:)

kfir

4

1 に答える 1

1

連想配列項目ではなく、xml文字列を2番目のパラメーターとして直接渡すだけです。

HttpsNoVerify($url, 'xml ..');

これは最終的に

curl_setopt($ch, CURLOPT_POSTFIELDS, "xml ...");

これはphp://inputリモートサーバーに配置されます。

于 2013-01-17T13:41:36.783 に答える