教えてください、php はどのようにしてリモート JSon コンテンツを取得し、いくつかのパラメータをポストします
質問してください、php はどのようにしてリモート JSon コンテンツを取得し、いくつかのパラメータをポストします
目的: php はリモート php ページをリクエストします (ページは json コンテンツです)、いくつかのパラメーター (名前、パスワード フィールドなど) を送信し、json
を返します。例を挙げていただければ幸いです
--解決策- ---------- ----------
$data = file_get_contents($url); //宛先ページのコンテンツを取得します。 $t = json_decode($data,1);//PHP 配列に変換 //対処する... $ch =curl_init(); curl_setopt($ch, CURLOPT_URL, $urlo);//データ送信アドレス curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data);//送信データ配列 カール_exec($ch); <br><font color="#e78608">------解決策------------------</font><br>
関数リクエスト($url,$posts) { if(is_array($posts) && !empty($posts)) { foreach($posts as $key=>$value) { $post[] = $key.'='.urlencode($value); } $posts = implode('&',$post); } $curl =curl_init(); $オプション = 配列( CURLOPT_URL=>$url, CURLOPT_CONNECTTIMEOUT => 2、 CURLOPT_TIMEOUT => 10、 CURLOPT_RETURNTRANSFER => CURLOPT_POST => 1、 CURLOPT_POSTFIELDS=>$posts, CURLOPT_USERAGENT=>'Mozilla/5.0 (Windows NT 5.1; rv:5.0) Gecko/20100101 Firefox/5.0' ); curl_setopt_array($curl,$options); $retval =curl_exec($curl); $retval を返します。 } $posts = array('name'=>'root', 'pwd'=>'123456' ); $retval = request($url,$posts); if($retval !== false) { $Arr = json_decode($retval,true); } <br><font color="#e78608">------解決策------------------</font><br> サーバーが Linux または UNIX の場合は、次のツールを使用してそれを実現することもできます: <br><br>
system("curl -d 'name=xx&password=xxx' 'http://www.xx.com/xx.php' > ./tmp"); while(!file_exists('./tmp')){ $jsoncode = file_get_contents('./tmp'); スリープ(1); } var_dump(json_decode($jsoncode)); <br><font color="#e78608">------解決策------------------</font><br> 1. file_get_contents<br> を使用してビデオを参照できます: <br>http://www.php100.com/html/shipinjiaocheng/PHP100shipinjiaocheng/2009/0416/810.html<br><br><br> 2. また、curl を使用することもできます<br>参考ビデオ:<br>http://www.php100.com/html/shipinjiaocheng/PHP100shipinjiaocheng/2010/0621/4795.html<br>http://www.php100。 com/html/shipinjiaocheng /PHP100shipinjiaocheng/2010/0628/4848.html<br><br> <div class="clear"></div>