GVKun编程网logo

PHP域whois脚本不返回所有信息(php who)

8

对于想了解PHP域whois脚本不返回所有信息的读者,本文将提供新的信息,我们将详细介绍phpwho,并且为您提供关于AmazonSQSLongPolling不返回所有消息、DirectoryInfo

对于想了解PHP域whois脚本不返回所有信息的读者,本文将提供新的信息,我们将详细介绍php who,并且为您提供关于Amazon SQS Long Polling不返回所有消息、DirectoryInfo.GetFiles()不返回所有文件、Discord.js不返回所有公会成员的列表、Django Rest Framework-当获取类型不为JSON的Object时,如何从响应中的模型返回所有信息?的有价值信息。

本文目录一览:

PHP域whois脚本不返回所有信息(php who)

PHP域whois脚本不返回所有信息(php who)

我需要获取whois信息.我的功能正常,但没有返回“管理联系人,注册人联系人,管理联系人,技术联系人”信息.

但是当我在Mac上运行以下命令时,它会返回所有信息
“whois google.com”

这是我的PHP函数从whois服务器获取信息

function QueryWhoisServer($whoisserver,$domain) {
$port = 43;
$timeout = 10;
$fp = @fsockopen($whoisserver,$port,$errno,$errstr,$timeout) or die("Socket Error " . $errno . " - " . $errstr);

fputs($fp,$domain . "\r\n");
$out = "";
while(!feof($fp)){
    $out .= fgets($fp);
}

fclose($fp);
return $out; 
} 
echo QueryWhoisServer("whois.verisign-grs.com","google.com");
我找到了一个可能的解决方案,假设(由我自己检查)注册商whois服务器正在返回联系信息.

为此,每个域都需要根据下面的代码查询相关的注册商whois服务器.

检查代码注释,了解每个函数的功能.

function GetWhoisInfo($whoisserver,$domain){
  $port = 43;
  $timeout = 10;
  $fp = @fsockopen($whoisserver,$timeout) or die("Socket Error " . $errno . " - " . $errstr);
  stream_set_blocking($fp,true);
  fputs($fp,$domain . "\r\n");
  $out = "";

  while(!feof($fp)){
      $out .= fgets($fp);       
  }

  fclose($fp);  
  return $out;
}

function GetRegistrarWhoisServer($whoisserver,$domain) {
  $out = GetWhoisInfo($whoisserver,$domain);
  $rws_string = explode("\r\n",$out);
  $rws = explode("Registrar WHOIS Server: ",$rws_string[2])[1];  
  return $rws; 
}

function WhoisToJson($winfo) {
  $winfoarr = explode(PHP_EOL,$winfo);
  $jsonarr = [];
  foreach($winfoarr as $info){
   $infodata = explode(": ",$info);
   if($infodata[0] !== "")$jsonarr[$infodata[0]] = $infodata[1];    
   //avoid to process privacy info at the end of whois service output
   if($infodata[0] === "DNSSEC")break;
  }
  return json_encode($jsonarr);
} 

function QueryWhoisServer($whoisserver,$domain) {
  //query to $whoisserver whois to get registrar whois server address only
  $rws = GetRegistrarWhoisServer($whoisserver,$domain);

  //query to registrar whois server (registrar whois servers are returning contact infos)
  $out = GetWhoisInfo($rws,$domain);  

  //parsing infos and formatting to json
  return WhoisToJson($out);
} 

echo QueryWhoisServer("whois.verisign-grs.com","google.com");

Amazon SQS Long Polling不返回所有消息

Amazon SQS Long Polling不返回所有消息

我需要在读取的1次中读取Amazon SQS队列中的所有消息,然后根据创建的时间戳对其进行排序并对其进行业务逻辑。

为了确保检查所有SQS主机是否有消息,我启用了长轮询。我这样做的方法是将队列的默认等待时间设置为10秒。(任何大于0的值都将启用长轮询)。

但是,当我尝试读取队列时,它仍然无法提供所有消息,因此我必须进行多次读取才能获取所有消息。我什至对每个接收请求通过代码启用了长时间轮询,但仍然无法正常工作。下面是我正在使用的代码。

AmazonSQSClient sqsClient = new AmazonSQSClient(new ClasspathPropertiesFileCredentialsProvider());sqsClient.setEndpoint("sqs.us-west-1.amazonaws.com");String queueUrl = "https://sqs.us-west-1.amazonaws.com/12345/queueName";ReceiveMessageRequest receiveRequest = new ReceiveMessageRequest().withQueueUrl(queueUrl).withMaxNumberOfMessages(10).withWaitTimeSeconds(20);List<Message> messages = sqsClient.receiveMessage(receiveRequest).getMessages();

我在队列中有3条消息,每次我运行代码时,我都会得到不同的结果,有时我获得全部3条消息,有时只有1条消息。我将可见性超时设置为2秒,这是为了消除导致消息不可见的原因在阅读中看不到它们。这是短期轮询的预期行为。长轮询应该消除多个轮询。我在这里做错什么吗?

谢谢

答案1

小编典典

长时间轮询应该消除多次轮询

不,长轮询应该消除实际可用的消息时的大量空轮询和虚假的空响应。在SQS中进行长时间的调查不会坐下来等待最大的等待时间,只是寻找更多的东西返回,或者一旦找到东西就继续搜索。在SQS中进行长时间轮询只能等待足够长的时间才能找到
一些东西

长轮询允许Amazon SQS服务等待直到队列中有消息可用,然后再发送响应。因此,除非连接超时,否则对
ReceiveMessage请求的响应将包含至少一个可用消息(如果有),并且最多包含ReceiveMessage调用中请求的最大数目。


http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-
long-polling.html
(添加了重点)

因此,SQS查找并返回的 “内容”
可能是所有消息(最大),或者是消息的子集,因为如上所述,SQS是分布式系统。在“一旦发现问题后尽快返回”和“在整个系统中搜索所有可能的内容,直到客户将接受的最大消息数量”之间,可能会做出架构决定。这些选择似乎是合理的,大多数应用程序都希望更快地响应“尽快给我”。

您不知道自己实际上已经耗尽了队列,直到您从长轮询中得到空响应为止。

DirectoryInfo.GetFiles()不返回所有文件

DirectoryInfo.GetFiles()不返回所有文件

我只是用我自己的文件夹浏览器试验一下。 我注意到,当我看着Windows 7中的System32文件夹,我得到了一些奇怪的结果。 代码如下:

DataTable dt=new DataTable(); string Folder="C:\Windows\System32"; DirectoryInfo DI = new DirectoryInfo(Folder); foreach (FileInfo FI in DI.GetFiles()) { DaTarow Row = dt.NewRow(); if(FI.Name== "accelerometerdll.DLL") { } Row["Name"] = FI.Name; Row["Created"] = FI.CreationTime; Row["Size"] = FI.Length; dt.Rows.Add(Row); } dataGridView1.DataSource = dt;

运行时,文件列表不完整。 与Windows资源pipe理器相比,文件总数超过400个文件。

有一个简单的检查名为“accelerometerdll.dll”的文件来尝试解决这个问题。 该文件绝对位于System32文件夹中。 我可以在资源pipe理器中看到它,当我执行DIR时,可以在命令窗口中看到它。 然而它从来没有出现在我的数据表中。 条件从未满足。 它就像它的简单无形。 我试着以pipe理员的身份运行这个结果。

更令人不安的是,它显示一个名为“12520437.cpx”的文件,我无法在资源pipe理器或命令窗口中看到它。 它似乎是在SysWOW64文件夹不是System32文件夹?

win10的wpf窗口定位错误

在WPF .NET Framework中使用自定义的任务pipe理器,如何防止进程重复?

为什么Microsoft.Build.Evaluation在64位PC上将$(ProgramFiles)评估为“c: program files”?

给定一个IntPtr句柄,改变窗口的背景颜色

启动f#与Process.Start交互

我的主要目标是显示与打开任何文件夹时资源pipe理器显示的文件完全相同的文件。

有任何想法吗?

在线程中调用列表框

.NET和本机C ++应用程序之间进行通信的最佳方式

.NET等价于热键控制

如何引用外部类中的string(C#)

为什么我的映射networking驱动器不出现在networking位置?

有必要根据知识丰富的反应关闭偏好的32位编译器指令。

更多信息在这里:

文件系统重定向器

Discord.js不返回所有公会成员的列表

Discord.js不返回所有公会成员的列表

如何解决Discord.js不返回所有公会成员的列表?

我试图遍历一个相对较小的公会的所有成员,但是该机器人似乎只记录缓存的用户。当我尝试console.log退出公会成员时,它只会注销自己和漫游器,并且当其他人发送消息并且我再次运行它时,它们也被包含在公会成员中。它曾经工作过,但今天早些时候只是随机打破了。我已经尝试做message.guild.fetch(),它什么也没做。这是尝试获取行会成员的代码:

message.guild.fetch().then(console.log)
    let allUsers = Array.from(
      message.guild.members[Object.keys(message.guild.members)[1]].keys()
    );

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

Django Rest Framework-当获取类型不为JSON的Object时,如何从响应中的模型返回所有信息?

Django Rest Framework-当获取类型不为JSON的Object时,如何从响应中的模型返回所有信息?

创建播放器model序列化器

class PlayerSerializer(serializers.ModelSerializer):
    class Meta:
        model = Player
        fields = "__all__"
          

然后在响应字典中使用序列化器:

{ 
    # other fields
    "full_user_info": PlayerSerializer(data=Player)
}

今天的关于PHP域whois脚本不返回所有信息php who的分享已经结束,谢谢您的关注,如果想了解更多关于Amazon SQS Long Polling不返回所有消息、DirectoryInfo.GetFiles()不返回所有文件、Discord.js不返回所有公会成员的列表、Django Rest Framework-当获取类型不为JSON的Object时,如何从响应中的模型返回所有信息?的相关知识,请在本站进行查询。

本文标签: