我用curl_init() 传递xml文档
--
$sql=”select aa from bb ”;
$n=$DB->ExecSQL( $sql );
while( $DB->Fetch() ) {
$md5 = md5($SRC."&key=6c3d80558fec2784b20a95863dca9458");
$WEB = 新しい WEB_SERVICE( $HOST, 80, $URL, "POST" );
$WEB->addPara( "para_xml" , $SRC );
$WEB->addPara( "MD5Data" , $md5 );
$WEB->addPara( "customersid" , "10058" );
$ret = $WEB->run();
$WEB->close();
Run()関数数大概の写法
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "http://".$this->IP.$this->URL);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $this->PARAMETER );
$ret = curl_exec($ch);
curl_close ($ch);
問題: SQL は 1000 個のデータを出力しましたが、10 個のデータが失敗する可能性があります。この失敗した 10 個のデータがもう一度送信されれば、また送信は成功します。時候连接不成功,即$ret = $WEB->run(); 空の値を返します。したがって転送は成功しません
このような問題はどのように対処されますか??
データを送信するたびに、sleep() を追加して、継続的な接触の送信を制御しますか?
は、curl_getinfo を介して転送が成功したかどうかを確認できます
すべてのデータを収集することもでき、一次転送も可能です
多方向 (curl_multi) で実行することもできます传递
谢谢拉 。適切な方法を使用します。次回のリクエストで接続が失敗した場合は、料金が発生します