代码很好理解,GET请求tt.html,但"总是出错"没说怎么个错法,贴出来给大家看看....呵呵,顶你个肺.....

解决方案 »

  1.   

    用curl_init试试那
    $ch = curl_init();
    curl_setopt($ch,CURLOPT_URL,$url);
    curl_exec($ch);
    curl_close($ch);
      

  2.   

    以前碰过类似情况可能是http头的问题,不同方式请求那个url带的http头不一样,服务端可能拒绝某些头格式最后用sniffer抓包,把包设成和成功请求的包格式一样搞定的
      

  3.   

    多谢you_kind的提醒。努力中尝试中,还没有搞定。因为我们使用的是ESB思想,ESB是用php作的,很难让ESB为了某一个系统而改变所有的头格式。
    有没有办法,更改lighttpd的接受包格式?
      

  4.   

    一个最小的 get 请求为:GET /test.php HTTP/1.0
    Host: www.test.comHost: 这行是必须要的,不然就会得到一个 400错误.(请求格式错误,服务器无法识别该格式)
    另外:
    对于 GET请求 Content-Type , Content-Length 这两个 http header 是多余的,加了发而可能会出错.
    同样可能导致一个 400 错误
    如果还不行, 可以尝试,改变一下 HTTP/1.0 ---> HTTP/1.1 也许某些版本的服务器 不支持 1.0
      

  5.   

    另外:从你的代码来看
    //   http://192.168.5.189:3000/inventory/sku/detailxml/a07010200ux0001 
    //   http://192.168.5.189:82/inventory/sku/skuhscode/a07010200ux0001 端口分别为 3000,82而你的 fsockopen   却用的是 80端口