dousao6313
2018-08-16 03:32
浏览 87
已采纳

PHP fputs和fsockopen

I'm a .net developer and this piece of PHP is really confusing me....

$ptr=@fsockopen(T_HOST,T_PORT,$errno,$errstr,T_TIMEOUT); 
if($ptr)
        {
//--- If having connected, request and collect the result
         if(fputs($ptr,"W$query
QUIT
")!=FALSE)
           while(!feof($ptr)) 
             {
              if(($line=fgets($ptr,128))=="end
") break; 
              $ret .= $line;
             } 
         fclose($ptr);

If T_HOST is 123.100.98.209, T_PORT is 443 and $query is "QUOTES-EURUSD", what kind of request does this piece of code produce?

While this PHP code does return something, when I try "http://123.100.98.209:443/QUOTES-EURUSD" from the browser and postman, it just fails.

What's

" QUIT "

doing in the query string?

And what does the "W" mean in front of the $query?

Sorry if these questions are too basic, I know nothing about PHP.

图片转代码服务由CSDN问答提供 功能建议

我是一名.net开发人员,这篇PHP实在让我感到困惑....

 <代码> $ PTR = @的fsockopen(T_HOST,T_PORT,$错误号,$ errstr,T_TIMEOUT);  
if($ ptr)
 {
 // ---如果已连接,请求并收集结果
 if(fputs($ ptr,“W $ query 
QUIT 
”)!= = FALSE)
  while(!feof($ ptr))
 {
 if if(($ line = fgets($ ptr,128))==“end 
 
”)break;  
 $ ret。= $ line; 
} 
 fclose($ ptr); 
   
 
 

如果T_HOST为123.100.98.209,则T_PORT为443和$ query 是“QUOTES-EURUSD”,这段代码产生了什么样的请求?

虽然这个PHP代码确实返回了一些东西,当我尝试“ http://123.100.98.209:443/QUOTES-EURUSD ”来自浏览器和邮递员,它只是失败了。 \ n

什么

“ QUIT ”

在查询中执行 字符串?

在$查询前面“W”是什么意思?

很抱歉,如果这些问题太基础,我什么都不知道 关于PHP。

  • 写回答
  • 好问题 提建议
  • 关注问题
  • 收藏
  • 邀请回答

1条回答 默认 最新

  • duanlu9816 2018-08-16 03:46
    已采纳

    opens a socket to 123.100.98.209

    if that works tries to write to and get a response.

    "QUOTES-EURUSD" - looking for the EUR to USD exchange rate

    " QUIT " = is a line break "QUIT" is the string

    "And what does the "W" mean in front of the $query?"

    in this case a literal letter "W" i would suspect a typo here

    已采纳该答案
    评论
    解决 无用
    打赏 举报

相关推荐 更多相似问题