我已经获得了API文档,由于没有可以连接的URL,我没有得到它?
http://support.planetdomain.com/index.php?_m=downloads&_a=viewdownload&downloaditemid=14&nav=0
我更喜欢在PHP中这样做..
如何运行10次迭代循环,检查域是否可用,是否有响应,然后执行register命令并退出脚本(使用文档中提供的代码)。
谢谢。
答案 0 :(得分:0)
对于基础知识,我建议使用cURL通过HTTP POST访问资源。
我把它放到一个函数中:
function api_call($url,$data,$timeout=20)
{
$response=false;
$ch=curl_init($url);
curl_setopt_array($ch,array(CURLOPT_RETURNTRANSFER=>true,CURLOPT_NOBODY=>false,CURLOPT_TIMEOUT=>$timeout,CURLOPT_FORBID_REUSE=>1,CURLOPT_FRESH_CONNECT=>1,CURLOPT_POST=>true));
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);//this is an array containing the data you're sending them - an associative array describing which call.
//data example:
//array('operation'=>'user.verify','admin.username'=>'you','admin.password'=>'pass','reseller.id'=>'xxx')
$response=curl_exec($ch);
$status_code=intval(curl_getinfo($ch,CURLINFO_HTTP_CODE));
curl_close($ch);
return array('status'=>$status_code,'url'=>$url,'data'=>$response);
}
但是,您需要提供一个URL。 Lucanos在评论中指出它是“api.planetdomain.com/servlet/TLDServlet”。
http://support.planetdomain.com/index.php?_m=knowledgebase&_a=viewarticle&kbarticleid=77
顺便说一句,我只使用cURL进行GET请求,所以我可能会错过一些关于如何正确执行POST的详细信息。不过我试着填写它。你问“如何运行10迭代循环,检查域是否可用,如果响应可用,则执行register命令并退出脚本(使用文档中提供的代码)。”< / p>
嗯,这里有一些与有效PHP混合的伪代码。我不知道你知道的域网API,所以这不会按原样运行,但它应该让你对它有一个体面的想法。
for($i=0;$i<10;$i++)
{
//set up the domain check call
$domains=array('futunarifountain.co.uk','megahelicopterunicornassaultlovepageant.ly');
$domain_check_call=array('domain.name'=>$domains[$i]);
$domain_info=api_call($dp_base_url,$domain_check_call);
$info=json_decode($domain_info,true);//IF they use JSON and not XML or something
if($info['domain']['status']=='available')
{
$register_call=something();//make the API calls to register the domain, similar to the above
if($register_call['success']){ exit();/*or whatever*/ }
}
}
希望有助于您走上正轨。