1

リモートWebサービスへのデータ呼び出しでcurl POSTを発行するphpスクリプトがあります(同僚のパーソナルコンピューターで実行されています)。ローカルホストからスクリプトを実行すると正常に動作し、期待される結果を返しますが、サーバー (共有、非専用) にスクリプトをアップロードすると、curl エラー 7 (ホストに接続できませんでした) と HTTP ステータス コード 0 で失敗し、それを実行します。

同じスクリプトを使用して yahoo API Web サービス呼び出しに POST を発行しようとしましたが、サーバーとローカルホストの両方から機能します。

私が言及したWebサービスは、同僚のPCのポート8080(80ではない)で実行されており、彼のIPアドレス(静的)を介してアクセスしています。

error_reporting(E_ALL);

$request =  'http://xx.xx.xx.xx:8080/services/dataconsume';

$postargs = json_encode(array(
   'x'=> '10',
   'y'=> '20'
   ));;

$session = curl_init($request);

curl_setopt ($session, CURLOPT_POST, true);
curl_setopt ($session, CURLOPT_POSTFIELDS, $postargs);
curl_setopt($session, CURLOPT_HEADER, true);
curl_setopt($session, CURLOPT_RETURNTRANSFER, true);
curl_setopt($session,CURLOPT_FOLLOWLOCATION,true);

$response = curl_exec($session);
echo "CURL ERROR NO : ".curl_errno($session); //returns 7
echo "<br />CURL STATUS : ".curl_getinfo($session, CURLINFO_HTTP_CODE); //returns 0
echo "<br />CURL ERROR : ".curl_error($session); //returns "couldn't connect to host"
curl_close($session);

4

0 に答える 0