Maison >développement back-end >Problème PHP >Comment appeler l'interface API en php

Comment appeler l'interface API en php

尚
original
2019-10-26 17:37:156550parcourir

Comment appeler l'interface API en php

peut être appelé par php simulant une demande de publication.

Recommandé : serveur php

2 façons de simuler la soumission POST en php

1, Grâce à la fonction curl

Comment utiliser cURL pour implémenter les requêtes Get et Post en PHP

$post_data = array();  
$post_data['clientname'] = "test08";  
$post_data['clientpasswd'] = "test08";  
$post_data['submit'] = "submit";  
$url='http://xxx.xxx.xxx.xx/xx/xxx/top.php';  
$o="";  
foreach ($post_data as $k=>$v)  
{  
    $o.= "$k=".urlencode($v)."&";  
}  
$post_data=substr($o,0,-1);  
$ch = curl_init();  
curl_setopt($ch, CURLOPT_POST, 1);  
curl_setopt($ch, CURLOPT_HEADER, 0);  
curl_setopt($ch, CURLOPT_URL,$url);  
//为了支持cookie  
curl_setopt($ch, CURLOPT_COOKIEJAR, 'cookie.txt');  
curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data);  
$result = curl_exec($ch);

2 via fsockopen.

fsockopen — Ouvrir une connexion réseau ou une connexion socket Unix

$URL=‘http://xxx.xxx.xxx.xx/xx/xxx/top.php';  
$post_data['clientname'] = "test08";  
$post_data['clientpasswd'] = "test08";  
$post_data['submit'] = "ログイン";  
$referrer="";  
// parsing the given URL  
$URL_Info=parse_url($URL);  
// Building referrer  
if($referrer=="") // if not given use this script as referrer  
$referrer=$_SERVER["SCRIPT_URI"];  
   
// making string from $data  
foreach($post_data as $key=>$value)  
$values[]="$key=".urlencode($value);  
   
$data_string=implode("&",$values);  
// Find out which port is needed - if not given use standard (=80)  
if(!isset($URL_Info["port"]))  
$URL_Info["port"]=80;  
// building POST-request:  
$request.="POST ".$URL_Info["path"]." HTTP/1.1\n";  
$request.="Host: ".$URL_Info["host"]."\n";  
$request.="Referer: $referrer\n";  
$request.="Content-type: application/x-www-form-urlencoded\n";  
$request.="Content-length: ".strlen($data_string)."\n";  
$request.="Connection: close\n";  
$request.="\n";  
$request.=$data_string."\n";  
$fp = fsockopen($URL_Info["host"],$URL_Info["port"]);  
fputs($fp, $request);  
while(!feof($fp)) {  
    $result .= fgets($fp, 128);  
}  
fclose($fp);

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn