ホームページ  >  記事  >  バックエンド開発  >  curl_init() の問題

curl_init() の問題

WBOY
WBOYオリジナル
2016-06-23 13:59:49907ブラウズ

我用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) で実行することもできます传递

对方接口最一回受信した 50 枚。公社一回一回 1000 枚以上。データを一回回復する可能性は高くありません。今日は、sleep() を試して効果を確認してください。老大们他の解决方法吗?

谢谢拉 。適切な方法を使用します。次回のリクエストで接続が失敗した場合は、料金が発生します

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。